123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439 |
- pipeline {
- agent {
- node {
- label 'maven'
- }
- }
- stages {
- stage('拉取代码') {
- agent none
- steps {
- container('maven') {
- git(credentialsId: 'nas-gitlab', url: 'http://gitlab.yinbin.ink:30000/test/yygh-parent.git', branch: 'master', changelog: true, poll: false)
- }
- }
- }
- stage('项目编译') {
- agent none
- steps {
- container('maven') {
- sh 'mvn clean package -DskipTests=true '
- }
- }
- }
- stage('default-2') {
- parallel {
- stage('构建 hospital-manage 镜像') {
- agent none
- steps {
- container('maven') {
- sh '''export PN=hospital-manage
- docker build -t $PN:latest -f $PN/Dockerfile $PN'''
- }
- }
- }
- stage('构建 server-gateway 镜像') {
- agent none
- steps {
- container('maven') {
- sh '''export PN=server-gateway
- docker build -t $PN:latest -f $PN/Dockerfile $PN'''
- }
- }
- }
- stage('构建 service-cmn 镜像') {
- agent none
- steps {
- container('maven') {
- sh '''export PN=service-cmn
- cd service
- docker build -t $PN:latest -f $PN/Dockerfile $PN'''
- }
- }
- }
- stage('构建 service-hosp 镜像') {
- agent none
- steps {
- container('maven') {
- sh '''export PN=service-hosp
- cd service
- docker build -t $PN:latest -f $PN/Dockerfile $PN'''
- }
- }
- }
- stage('构建 service-order 镜像') {
- agent none
- steps {
- container('maven') {
- sh '''export PN=service-order
- cd service
- docker build -t $PN:latest -f $PN/Dockerfile $PN'''
- }
- }
- }
- stage('构建 service-oss 镜像') {
- agent none
- steps {
- container('maven') {
- sh '''export PN=service-oss
- cd service
- docker build -t $PN:latest -f $PN/Dockerfile $PN'''
- }
- }
- }
- stage('构建 service-sms 镜像') {
- agent none
- steps {
- container('maven') {
- sh '''export PN=service-sms
- cd service
- docker build -t $PN:latest -f $PN/Dockerfile $PN'''
- }
- }
- }
- stage('构建 service-statistics 镜像') {
- agent none
- steps {
- container('maven') {
- sh '''export PN=service-statistics
- cd service
- docker build -t $PN:latest -f $PN/Dockerfile $PN'''
- }
- }
- }
- stage('构建 service-task 镜像') {
- agent none
- steps {
- container('maven') {
- sh '''export PN=service-task
- cd service
- docker build -t $PN:latest -f $PN/Dockerfile $PN'''
- }
- }
- }
- stage('构建 service-user 镜像') {
- agent none
- steps {
- container('maven') {
- sh '''export PN=service-user
- cd service
- docker build -t $PN:latest -f $PN/Dockerfile $PN'''
- }
- }
- }
- }
- }
- stage('default-3') {
- parallel {
- stage('推送 hospital-manage 镜像') {
- agent none
- steps {
- container('maven') {
- withCredentials([usernamePassword(credentialsId : 'harbor-docker-registry' ,passwordVariable : 'DOCKER_REGISTY_PASSWD' ,usernameVariable : 'DOCKER_REGISTY_USER' ,)]) {
- sh '''export APP_NAME=hospital-manage
- echo "$DOCKER_REGISTY_PASSWD" | docker login $REGISTRY -u "$DOCKER_REGISTY_USER" --password-stdin
- docker tag $APP_NAME:latest $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:v$BUILD_NUMBER
- docker push $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:v$BUILD_NUMBER'''
- }
- }
- }
- }
- stage('推送 server-gateway 镜像') {
- agent none
- steps {
- container('maven') {
- withCredentials([usernamePassword(credentialsId : 'harbor-docker-registry' ,passwordVariable : 'DOCKER_REGISTY_PASSWD' ,usernameVariable : 'DOCKER_REGISTY_USER' ,)]) {
- sh '''export APP_NAME=server-gateway
- echo "$DOCKER_REGISTY_PASSWD" | docker login $REGISTRY -u "$DOCKER_REGISTY_USER" --password-stdin
- docker tag $APP_NAME:latest $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:v$BUILD_NUMBER
- docker push $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:v$BUILD_NUMBER'''
- }
- }
- }
- }
- stage('推送 service-cmn 镜像') {
- agent none
- steps {
- container('maven') {
- withCredentials([usernamePassword(credentialsId : 'harbor-docker-registry' ,passwordVariable : 'DOCKER_REGISTY_PASSWD' ,usernameVariable : 'DOCKER_REGISTY_USER' ,)]) {
- sh '''export APP_NAME=service-cmn
- echo "$DOCKER_REGISTY_PASSWD" | docker login $REGISTRY -u "$DOCKER_REGISTY_USER" --password-stdin
- docker tag $APP_NAME:latest $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:v$BUILD_NUMBER
- docker push $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:v$BUILD_NUMBER'''
- }
- }
- }
- }
- stage('推送 service-hosp 镜像') {
- agent none
- steps {
- container('maven') {
- withCredentials([usernamePassword(credentialsId : 'harbor-docker-registry' ,passwordVariable : 'DOCKER_REGISTY_PASSWD' ,usernameVariable : 'DOCKER_REGISTY_USER' ,)]) {
- sh '''export APP_NAME=service-hosp
- echo "$DOCKER_REGISTY_PASSWD" | docker login $REGISTRY -u "$DOCKER_REGISTY_USER" --password-stdin
- docker tag $APP_NAME:latest $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:v$BUILD_NUMBER
- docker push $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:v$BUILD_NUMBER'''
- }
- }
- }
- }
- stage('推送 service-order 镜像') {
- agent none
- steps {
- container('maven') {
- withCredentials([usernamePassword(credentialsId : 'harbor-docker-registry' ,passwordVariable : 'DOCKER_REGISTY_PASSWD' ,usernameVariable : 'DOCKER_REGISTY_USER' ,)]) {
- sh '''export APP_NAME=service-order
- echo "$DOCKER_REGISTY_PASSWD" | docker login $REGISTRY -u "$DOCKER_REGISTY_USER" --password-stdin
- docker tag $APP_NAME:latest $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:v$BUILD_NUMBER
- docker push $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:v$BUILD_NUMBER'''
- }
- }
- }
- }
- stage('推送 service-oss 镜像') {
- agent none
- steps {
- container('maven') {
- withCredentials([usernamePassword(credentialsId : 'harbor-docker-registry' ,passwordVariable : 'DOCKER_REGISTY_PASSWD' ,usernameVariable : 'DOCKER_REGISTY_USER' ,)]) {
- sh '''export APP_NAME=service-oss
- echo "$DOCKER_REGISTY_PASSWD" | docker login $REGISTRY -u "$DOCKER_REGISTY_USER" --password-stdin
- docker tag $APP_NAME:latest $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:v$BUILD_NUMBER
- docker push $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:v$BUILD_NUMBER'''
- }
- }
- }
- }
- stage('推送 service-sms 镜像') {
- agent none
- steps {
- container('maven') {
- withCredentials([usernamePassword(credentialsId : 'harbor-docker-registry' ,passwordVariable : 'DOCKER_REGISTY_PASSWD' ,usernameVariable : 'DOCKER_REGISTY_USER' ,)]) {
- sh '''export APP_NAME=service-sms
- echo "$DOCKER_REGISTY_PASSWD" | docker login $REGISTRY -u "$DOCKER_REGISTY_USER" --password-stdin
- docker tag $APP_NAME:latest $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:v$BUILD_NUMBER
- docker push $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:v$BUILD_NUMBER'''
- }
- }
- }
- }
- stage('推送 service-statistics 镜像') {
- agent none
- steps {
- container('maven') {
- withCredentials([usernamePassword(credentialsId : 'harbor-docker-registry' ,passwordVariable : 'DOCKER_REGISTY_PASSWD' ,usernameVariable : 'DOCKER_REGISTY_USER' ,)]) {
- sh '''export APP_NAME=service-statistics
- echo "$DOCKER_REGISTY_PASSWD" | docker login $REGISTRY -u "$DOCKER_REGISTY_USER" --password-stdin
- docker tag $APP_NAME:latest $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:v$BUILD_NUMBER
- docker push $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:v$BUILD_NUMBER'''
- }
- }
- }
- }
- stage('推送 service-task 镜像') {
- agent none
- steps {
- container('maven') {
- withCredentials([usernamePassword(credentialsId : 'harbor-docker-registry' ,passwordVariable : 'DOCKER_REGISTY_PASSWD' ,usernameVariable : 'DOCKER_REGISTY_USER' ,)]) {
- sh '''export APP_NAME=service-task
- echo "$DOCKER_REGISTY_PASSWD" | docker login $REGISTRY -u "$DOCKER_REGISTY_USER" --password-stdin
- docker tag $APP_NAME:latest $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:v$BUILD_NUMBER
- docker push $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:v$BUILD_NUMBER'''
- }
- }
- }
- }
- stage('推送 service-user 镜像') {
- agent none
- steps {
- container('maven') {
- withCredentials([usernamePassword(credentialsId : 'harbor-docker-registry' ,passwordVariable : 'DOCKER_REGISTY_PASSWD' ,usernameVariable : 'DOCKER_REGISTY_USER' ,)]) {
- sh '''export APP_NAME=service-user
- echo "$DOCKER_REGISTY_PASSWD" | docker login $REGISTRY -u "$DOCKER_REGISTY_USER" --password-stdin
- docker tag $APP_NAME:latest $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:v$BUILD_NUMBER
- docker push $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:v$BUILD_NUMBER'''
- }
- }
- }
- }
- }
- }
- stage('default-4') {
- parallel {
- stage('部署 hospital-manage 到dev集群') {
- agent none
- steps {
- kubernetesDeploy(configs: 'hospital-manage/deploy/**', enableConfigSubstitution: true, kubeconfigId: "$KUBECONFIG_CREDENTIAL_ID")
- }
- }
- stage('部署 server-gateway 到dev集群') {
- agent none
- steps {
- kubernetesDeploy(configs: 'server-gateway/deploy/**', enableConfigSubstitution: true, kubeconfigId: "$KUBECONFIG_CREDENTIAL_ID")
- }
- }
- stage('部署 service-cmn 到dev集群') {
- agent none
- steps {
- kubernetesDeploy(configs: 'service/service-cmn/deploy/**', enableConfigSubstitution: true, kubeconfigId: "$KUBECONFIG_CREDENTIAL_ID")
- }
- }
- stage('部署 service-hosp 到dev集群') {
- agent none
- steps {
- kubernetesDeploy(configs: 'service/service-hosp/deploy/**', enableConfigSubstitution: true, kubeconfigId: "$KUBECONFIG_CREDENTIAL_ID")
- }
- }
- stage('部署 service-order 到dev集群') {
- agent none
- steps {
- kubernetesDeploy(configs: 'service/service-order/deploy/**', enableConfigSubstitution: true, kubeconfigId: "$KUBECONFIG_CREDENTIAL_ID")
- }
- }
- stage('部署 service-oss 到dev集群') {
- agent none
- steps {
- kubernetesDeploy(configs: 'service/service-oss/deploy/**', enableConfigSubstitution: true, kubeconfigId: "$KUBECONFIG_CREDENTIAL_ID")
- }
- }
- stage('部署 service-sms 到dev集群') {
- agent none
- steps {
- kubernetesDeploy(configs: 'service/service-sms/deploy/**', enableConfigSubstitution: true, kubeconfigId: "$KUBECONFIG_CREDENTIAL_ID")
- }
- }
- stage('部署 service-statistics 到dev集群') {
- agent none
- steps {
- kubernetesDeploy(configs: 'service/service-statistics/deploy/**', enableConfigSubstitution: true, kubeconfigId: "$KUBECONFIG_CREDENTIAL_ID")
- }
- }
- stage('部署 service-task 到dev集群') {
- agent none
- steps {
- kubernetesDeploy(configs: 'service/service-task/deploy/**', enableConfigSubstitution: true, kubeconfigId: "$KUBECONFIG_CREDENTIAL_ID")
- }
- }
- stage('部署 service-user 到dev集群') {
- agent none
- steps {
- kubernetesDeploy(configs: 'service/service-user/deploy/**', enableConfigSubstitution: true, kubeconfigId: "$KUBECONFIG_CREDENTIAL_ID")
- }
- }
- }
- }
- stage('ok') {
- agent none
- steps {
- echo 'ok!!!'
- }
- }
- }
- environment {
- DOCKER_CREDENTIAL_ID = 'dockerhub-id'
- GITHUB_CREDENTIAL_ID = 'github-id'
- KUBECONFIG_CREDENTIAL_ID = 'kubeconfig-dev-id'
- REGISTRY = '192.168.122.10:30002'
- DOCKERHUB_NAMESPACE = 'devops_syt'
- GITHUB_ACCOUNT = 'kubesphere'
- APP_NAME = 'devops-java-sample'
- }
- }
|