jenkins配置流水线

新建任务,随便选一个名字,选中流水线
在这里插入图片描述

配置git的用户名和密码,记录ID,后面配置流水线的时候用。
在这里插入图片描述

在这里插入图片描述

pipeline {
    agent any

    stages {
        
        stage('stop app'){
            steps {
                script {
                  def remote = [:]
                  //配置服务地址,用户名和密码
                  remote.name = 'prd'
                  remote.host = '114.116.1.1'
                  remote.user = 'test'
                  remote.password = 'test@123'
                  remote.allowAnyHosts = true
                  //连到服务器,停止服务器
                  sshCommand remote: remote, command: "cd /data/test/gateway;sudo sh stop.sh"
                  sshCommand remote: remote, command: "cd /data/test/infra;sudo sh stop.sh"
                  sshCommand remote: remote, command: "cd /data/test/system;sudo sh stop.sh"
                  sshCommand remote: remote, command: "cd /data/test/test;sudo sh stop.sh"
                  sshCommand remote: remote, command: "cd /data/test/member;sudo sh stop.sh"
                  
                }
            }
        }
        
        stage('pull code') {
            steps {
            //连到GIT地址,用上面配置的凭据ID
                checkout scmGit(branches: [[name: '*/master']], extensions: [], userRemoteConfigs: [[credentialsId: '0a60a90e-6898-446c-bf49-d452dc1445a0', url: 'https://e.coding.net/g-cine6025/testshujuxiangmu/test.git']])
            }
        }
        stage('build project') {
            steps {
                sh 'mvn -DskipTests clean package'
            }
        }
        stage('start gateway'){
            steps {
                script {
                  def remote = [:]
                  remote.name = 'prd'
                  remote.host = '114.116.1.1'
                  remote.user = 'test'
                  remote.password = 'test@123'
                  remote.allowAnyHosts = true
                  sshCommand remote: remote, command: "ls -lrt"
                  //先从docker中的jar拷到本机,查看你的配置的生成的jar包在哪个路径
                  sshCommand remote: remote, command: "sudo cp /var/jenkins_home/workspace/部署管理后应用/gateway/target/gateway.jar /data/test/gateway/gateway.jar"
                  sshCommand remote: remote, command: "sudo cp /var/jenkins_home/workspace/部署管理后应用/module-infra/module-infra-biz/target/module-infra-biz.jar /data/test/infra/module-infra-biz.jar"
                  sshCommand remote: remote, command: "sudo cp /var/jenkins_home/workspace/部署管理后应用/module-system/module-system-biz/target/module-system-biz.jar /data/test/system/module-system-biz.jar"
                  sshCommand remote: remote, command: "sudo cp /var/jenkins_home/workspace/部署管理后应用/module-test/module-biz/target/module-biz.jar /data/test/test/module-biz.jar"
                  sshCommand remote: remote, command: "sudo cp /var/jenkins_home/workspace/部署管理后应用/module-member/module-member-biz/target/module-member-biz.jar /data/test/member/module-member-biz.jar"
                  //执行启动命令
                  sshCommand remote: remote, command: "cd /data/test/gateway;sudo sh start.sh"
                  sshCommand remote: remote, command: "cd /data/test/infra;sudo sh start.sh"
                  sshCommand remote: remote, command: "cd /data/test/system;sudo sh start.sh"
                  sshCommand remote: remote, command: "cd /data/test/test;sudo sh start.sh"
                  sshCommand remote: remote, command: "cd /data/test/member;sudo sh start.sh"
                  
                }
            }
        }
    }
}
Jenkins是一个开源的持续集成/持续部署(CI/CD)工具,它通过定义一系列自动化任务,也就是流水线(Pipeline),可以帮助团队管理和自动化软件开发流程。在Jenkins配置流水线,通常使用Groovy脚本来编写`Jenkinsfile`,这是Jenkins用来定义构建过程的标准。 Jenkins流水线配置主要包括以下几个步骤: 1. **创建或编辑Jenkinsfile**: - 在Jenkins服务器上,找到你想配置流水线的项目,右键选择"添加构建触发器" -> "构建触发器管理",然后点击"添加构建步骤" -> "Pipeline Script from SCM",选择Git或其他版本控制系统。 2. **编写`Jenkinsfile`**: - 通常包含以下几个部分: - `pipeline`关键字定义开始,后面跟着`agent`定义执行任务的节点类型(如:`agent any`表示使用任何可用节点)。 - `stages`块,用于组织构建流程,比如`stage('编译')`、`stage('测试')`等。 - `steps`块,里面写具体的构建动作,如`sh 'git pull'`(执行shell命令)、`checkout([$class: 'GitSCM', branches: [[name: 'master']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'BuildTriggeredByTag']], submoduleCfg: [], userRemoteConfigs: [[url: 'https://github.com/your/repo']])`(检出代码)。 - `post`块可定义构建完成后的工作,如发送通知、部署等。 3. **执行流水线**: - 保存`Jenkinsfile`后,Jenkins会自动尝试构建,或者你可以通过"构建现在"按钮手动触发。 4. **配置触发条件**: - 可以设置定期构建、代码提交触发、标签变更等条件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值