写点什么

Jenkins 集群下的 pipeline 实战,kalilinux 使用教程 pdf

用户头像
Java高工P7
关注
发布于: 刚刚
  1. 执行命令 ssh root@192.168.133.131,这时候控制台提示输入 yes 或者 no,请您输入 yes,再根据提示输入 master 的密码,此时登录 master 成功:


[root@agent1 16]# docker exec -it agent /bin/bash


root@82eb8cfec0a6:/# ssh root@192.168.133.131


The authenticity of host '192.168.133.131 (192.168.133.131)' can't be established.


ECDSA key fingerprint is SHA256:DPE2nldWHiOhC4DB9doy7jPWNZVup6XFZ+sR2i1gqz8.


Are you sure you want to continue connecting (yes/no)? yes


Warning: Permanently added '192.168.133.131' (ECDSA) to the list of known hosts.


root@192.168.133.131's password:


Last login: Sat Nov 16 19:59:42 2019 from 192.168.133.132


  1. 此时您是在 agent1 的容器中 ssh 登录了 master,所以要连续输入两次 exit 命令才能返回到 agent1 的控制台;

  2. 在 agent2 电脑上也执行相同的操作;


至此,准备完毕,可以创建任务了;

编译构建 spring-cloud-alibaba 的任务

spring-cloud-alibaba 是个 maven 工程,要用 maven 来编译构建:


  1. 在 Jenkins 网页上,点击下图红框位置,创建一个任务:



  1. 如下图,创建名为 spring-clolud-alibaba 的 pipeline 任务:



  1. 下图红框位置就是输入 pipeline 脚本的地方:



  1. 在上图红框位置输入以下内容:


pipeline {


agent {


label 'maven'


}


tools {


maven 'mvn-3.6.2'


}


stages {


stage('Checkout') {


steps {


echo '从 GitHub 下载 spring-cloud-alibaba 工程的源码(2.1.1.RELEASE 归档包)'


sh 'wget https://github.com/alibaba/spring-cloud-alibaba/archive/v2.1.1.RE


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


LEASE.tar.gz'


echo '下载结束,解压归档包'


sh 'tar -zxf v2.1.1.RELEASE.tar.gz'


}


}


stage('Build') {


steps {


echo '开始编译构建'


sh 'cd spring-cloud-alibaba-2.1.1.RELEASE && mvn clean package -U -DskipTests'


}


}


stage('Save') {


steps {


echo '将构建结果传送到存储服务器'


sh 'cd spring-cloud-alibaba-2.1.1.RELEASE/spring-cloud-alibaba-nacos-discovery/target && sshpass -p 888888 scp ./*.jar root@192.168.133.131:/usr/local/build_result'


echo '传送完毕'


}


}


stage('Clean') {


steps {


echo '清理 Maven 工程'


sh 'cd spring-cloud-alibaba-2.1.1.RELEASE && mvn clean'


echo '清理完毕'


}


}


}


}


  1. 点击底部的"保存"按钮后,点击下图红框中的"立即构建"即可开始任务:



  1. 点击下图红框中的红色圆球,即可跳转到实时输出任务信息的页面:



  1. 页面实时输出构建信息:



  1. 主页面可以看到是 agent1 在执行任务,如下图红框所示,可见 pipeline 脚本中的标签已经生效了,将任务调度到标签为 maven 的节点去执行:



编译构建 spring-cloud-alibaba 工程是个费时的操作,我们现在去创建另一个任务:编译构建 spring-framework

编译构建 spring-framework 的任务

spring-framework 是个 gradle 工程,不需要准备 gradle 环境,在执行编译命令时会自动下载 gradle 工具:


  1. 创建名为 spring-framework 的 pipeline 任务:

  2. pipeline 脚本如下:


pipeline {


agent {


label 'gradle'


}


stages {


stage('Checkout') {


steps {


echo '从 GitHub 下载 spring-framework 工程的源码(master 分支)'


checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[url: 'https://github.com/spring-projects/spring-framework.git']]])


}


}


stage('Build') {


steps {


echo '开始编译构建'


sh './gradlew build'


}


}


stage('传送构建结果') {


steps {


echo '将构建结果传送到存储服务器'


sh 'cd spring-core/build/libs && sshpass -p 888888 scp ./*.jar root@192.168.133.131:/usr/local/build_result && cd ../../..'


echo '传送完毕'


}


}


stage('Clean') {


steps {


echo '清理 gradle 工程'


sh './gradlew clean'


echo '清理完毕'


}


}


}


}

用户头像

Java高工P7

关注

还未添加个人签名 2021.11.08 加入

还未添加个人简介

评论

发布
暂无评论
Jenkins集群下的pipeline实战,kalilinux使用教程pdf