78 lines
2.5 KiB
Groovy
78 lines
2.5 KiB
Groovy
pipeline {
|
|
agent {
|
|
node {
|
|
label 'maven'
|
|
}
|
|
|
|
}
|
|
stages {
|
|
stage('拉取代码') {
|
|
agent none
|
|
steps {
|
|
container('maven') {
|
|
git(url: 'https://gitee.com/hongtaohu/RuoYi-Cloud.git', credentialsId: 'gitee-id', branch: 'master', changelog: true, poll: false)
|
|
sh 'ls -al'
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
stage('项目编译') {
|
|
agent none
|
|
steps {
|
|
container('maven') {
|
|
sh 'ls -al'
|
|
sh 'mvn clean package -Dmaven.test.skip=true'
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
stage('构建ruoyi-file镜像') {
|
|
agent none
|
|
steps {
|
|
container('maven') {
|
|
sh 'ls ruoyi-modules/ruoyi-file/target'
|
|
sh 'docker build -t ruoyi-file:latest -f Devops/ruoyi-modules/ruoyi-file/Dockerfile ./ruoyi-modules/ruoyi-file/target'
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
stage('推送ruoyi-file镜像') {
|
|
agent none
|
|
steps {
|
|
container('maven') {
|
|
withCredentials([usernamePassword(credentialsId : 'harbor-registry' ,passwordVariable : 'HARBOR_PWD_TEXT' ,usernameVariable : 'HARBOR_USER_TEXT' ,)]) {
|
|
sh 'echo "$HARBOR_PWD_TEXT" | docker login $REGISTRY -u "$HARBOR_USER_TEXT" --password-stdin'
|
|
sh 'docker tag ruoyi-file:latest $REGISTRY/$HARBOR_NAMESPACE/ruoyi-file:SNAPSHOT-$BUILD_NUMBER'
|
|
sh 'docker push $REGISTRY/$HARBOR_NAMESPACE/ruoyi-file:SNAPSHOT-$BUILD_NUMBER'
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
stage('部署ruoyi-file到dev环境') {
|
|
agent none
|
|
steps {
|
|
kubernetesDeploy(configs: 'Devops/ruoyi-modules/ruoyi-file/deploy/**', enableConfigSubstitution: true, kubeconfigId: "$KUBECONFIG_CREDENTIAL_ID")
|
|
}
|
|
}
|
|
|
|
}
|
|
environment {
|
|
DOCKER_CREDENTIAL_ID = 'dockerhub-id'
|
|
GITHUB_CREDENTIAL_ID = 'github-id'
|
|
KUBECONFIG_CREDENTIAL_ID = 'demo-kubeconfig'
|
|
REGISTRY = '192.168.2.147:30002'
|
|
DOCKERHUB_NAMESPACE = 'docker_username'
|
|
GITHUB_ACCOUNT = 'kubesphere'
|
|
APP_NAME = 'devops-java-sample'
|
|
HARBOR_NAMESPACE = 'ruoyi'
|
|
}
|
|
parameters {
|
|
string(name: 'TAG_NAME', defaultValue: '', description: '')
|
|
}
|
|
} |