CICD模板 Posted on 2019-08-19 | In DevOps 1.CICD文件 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273stages:- jarBuild- imageBuild- imagePush- imageProcessvariables: GIT_URL: 'http://10.29.139.47/intellitrade/cicd-test.git' PROJECT_NAME: 'cicd-test' JAR_NAME: 'zts-cicd-test-1.0-SNAPSHOT.jar' IMAGE_NAME: 'backend_cicdtest'jarBuild: script: - cd /mnt/gitlabci_project - if [ ! -d "/mnt/gitlabci_project/${PROJECT_NAME}" ]; then - git clone ${GIT_URL} - else - echo "${PROJECT_NAME} have existed" - fi - cd ${PROJECT_NAME} - echo $CI_COMMIT_REF_NAME - git pull - git checkout $CI_COMMIT_REF_NAME - git branch - git pull - mvn clean - cd /mnt/gitlabci_project/${PROJECT_NAME} && mvn clean package -Dmaven.test.skip=true stage: jarBuild tags: - image-build only: refs: - develop - /^release.*$/ imageBuild: script: - cp /mnt/gitlabci_project/${PROJECT_NAME}/target/${JAR_NAME} /mnt/gitlabci_project/${PROJECT_NAME}/deploy - cp -r /mnt/gitlabci_project/${PROJECT_NAME}/target/lib /mnt/gitlabci_project/${PROJECT_NAME}/deploy - cd /mnt/gitlabci_project/${PROJECT_NAME}/deploy - docker build -t ${REGISTRY_IP}:${REGISTRY_PORT}/develop/${IMAGE_NAME}:latest . stage: imageBuild tags: - image-build only: refs: - develop - /^release.*$/ imagePush: script: - docker login -u ${HARBOR_NAME} -p ${HARBOR_PSD} ${REGISTRY_IP}:${REGISTRY_PORT} - docker push ${REGISTRY_IP}:${REGISTRY_PORT}/develop/${IMAGE_NAME}:latest stage: imagePush tags: - image-push only: refs: - develop - /^release.*$/dockerRun: script: - ansible-playbook /mnt/gitlabci_project/${PROJECT_NAME}/deploy/develop/playbook.yml stage: imageProcess tags: - image-push only: refs: - develop - /^release.*$/