gitlab+jenkins+harbor实现CI/CD(3)——流水线作业


一、发布主机准备

yum install -y git
yum install -y docker-ce
rpm -ivh jdk-11.0.15_linux-x64_bin.rpm

准备好以上软件,配置好域名解析。
在jenkins主机执行

ssh-copy-id 192.168.213.133

二、通过ssh插件交付任务

在jenkins系统配置添加ssh节点。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、jenkins节点添加

节点管理,添加节点
在这里插入图片描述
在这里插入图片描述
将主节点构建数设为0.

四、流水线项目构建

新建流水线项目
在这里插入图片描述
在这里插入图片描述

pipeline {
    agent any

    stages {
        stage('check out') {
            steps {
                git credentialsId: '0c19fa3a-49ab-4d5f-a445-b1a76eb539a0', url: 'git@192.168.213.131:root/project1.git', branch: 'main'
            }
        }
        stage('docker build') {
            steps {
                sh '''
                cd $WORKSPACE
                docker build -t reg.westos.org/library/demo:${BUILD_NUMBER} .
                '''
            }
        }
        stage('docker push') {
            steps {
                sh '''
                REPOSITORY=reg.westos.org/library/demo:${BUILD_NUMBER}
                docker tag $REPOSITORY reg.westos.org/library/demo:latest
                docker login reg.westos.org -u admin -p westos
                docker push $REPOSITORY
                docker push reg.westos.org/library/demo:latest
                '''
            }
        }
        stage('docker deploy') {
            steps {
                sshagent(credentials: ['0c19fa3a-49ab-4d5f-a445-b1a76eb539a0']) {
                    sh '''
                    ssh -o StrictHostKeyChecking=no root@192.168.213.133 """
                    docker ps -a |grep myapp && docker rm -f myapp
                    docker rmi demo:latest
                    docker run -d --name myapp -p 80:80 demo:latest """
                    '''
                }    
            }
        }
    }
}

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值