1 Star 0 Fork 46

现钞/jenkins-demo

forked from 辽夜唯清/jenkins-demo 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
Jenkinsfile 1.99 KB
一键复制 编辑 原始数据 按行查看 历史
辽夜唯清 提交于 2021-12-23 07:47 . update Jenkinsfile.
pipeline{
// 定义groovy脚本中使用的环境变量
environment{
// 将构建任务中的构建参数转换为环境变量
IMAGE_TAG = sh(returnStdout: true,script: 'echo $image_tag').trim()
ORIGIN_REPO = sh(returnStdout: true,script: 'echo $origin_repo').trim()
REPO = sh(returnStdout: true,script: 'echo $repo').trim()
BRANCH = sh(returnStdout: true,script: 'echo $branch').trim()
IMAGE = sh(returnStdout: true,script: 'echo $origin_repo/$repo:$image_tag').trim()
}
// 定义本次构建使用哪个标签的构建环境,本示例中为 “slave-pipeline”
agent{
node{
label 'slave-pipeline'
}
}
// "stages"定义项目构建的多个模块,可以添加多个 “stage”, 可以多个 “stage” 串行或者并行执行
stages{
// 定义第一个stage, 完成克隆源码的任务
stage('Git'){
steps{
git branch: '${BRANCH}', credentialsId: '', url: 'https://gitee.com/ahwhya/jenkins-demo.git'
}
}
// 添加第二个stage, 运行源码打包命令
stage('Package'){
steps{
container("maven") {
sh "mvn package -B -DskipTests"
}
}
}
// 添加第三个stage, 运行容器镜像构建和推送命令, 用到了environment中定义的groovy环境变量
stage('Image Build And Publish'){
steps{
container("kaniko") {
sh "kaniko -f `pwd`/Dockerfile -c `pwd` --destination=${ORIGIN_REPO}/${REPO}:${IMAGE_TAG} --skip-tls-verify"
}
}
}
// 添加第四个stage, 部署应用到指定k8s集群
stage('Deploy to Kubernetes') {
steps {
container('kubectl') {
sh "sed -i 's#IMAGE#${IMAGE}#g' deployment.yaml"
sh "kubectl apply -f deployment.yaml"
}
}
}
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/qgmac1/jenkins-demo.git
[email protected]:qgmac1/jenkins-demo.git
qgmac1
jenkins-demo
jenkins-demo
master

搜索帮助