| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- kind: pipeline
- name: Water Management System CI/CD
-
- steps:
- # ==================== 代码检查步骤 ====================
- - name: checkstyle
- image: maven:3.8.4-openjdk-17
- commands:
- - cd /workspace
- - mvn checkstyle:checkstyle
-
- - name: spotbugs
- image: maven:3.8.4-openjdk-17
- commands:
- - cd /workspace
- - mvn spotbugs:check
-
- - name: pmd
- image: maven:3.8.4-openjdk-17
- commands:
- - cd /workspace
- - mvn pmd:check
-
- # ==================== 单元测试步骤 ====================
- - name: test
- image: maven:3.8.4-openjdk-17
- commands:
- - cd /workspace
- - mvn test
-
- # ==================== 代码覆盖率报告 ====================
- - name: coverage
- image: maven:3.8.4-openjdk-17
- commands:
- - cd /workspace
- - mvn jacoco:report
- when:
- status: success
-
- # ==================== 构建步骤 ====================
- - name: build
- image: docker:20.10
- volumes:
- - name: docker-sock
- path: /var/run/docker.sock
- commands:
- - docker version
- - cd /workspace
- - chmod +x docker/ci/build.sh
- - docker/ci/build.sh
-
- # ==================== Docker镜像推送 ====================
- - name: push
- image: docker:20.10
- volumes:
- - name: docker-sock
- path: /var/run/docker.sock
- settings:
- registry:
- - url: http://git.xayunmei.com:2345
- username: bot_dev1
- password: ${DOCKER_REGISTRY_PASSWORD}
- commands:
- - docker login http://git.xayunmei.com:2345 -u bot_dev1 -p $DOCKER_REGISTRY_PASSWORD
- - docker images | grep water
- - for img in water/*; do docker push $img; done
-
- # ==================== 部署到开发环境 ====================
- - name: deploy-dev
- image: docker:20.10
- volumes:
- - name: docker-sock
- path: /var/run/docker.sock
- commands:
- - cd /workspace
- - docker-compose up -d
- when:
- branch: main
- status: success
-
- volumes:
- - name: docker-sock
- host:
- path: /var/run/docker.sock
-
- settings:
- docker_config:
- username: bot_dev1
- password: ${DOCKER_REGISTRY_PASSWORD}
|