自动集成
jenkins中maven的安装及配置,如何在jenkins中创建maven任务。
Jenkins+Maven部署安装
ubuntu18.04 从零开始搭建并使用jenkins,实现脚本远程
jenkins安装maven
Jenkins - Publish Over SSH
jenkins:配置密钥时报错的解决:Failed to add SSH key. Message invalid privatekey(Jenkins 2.257)
基于jenkins、k8s、docker 实现自动部署服务
Jenkins打包Maven项目找不到 mvn: not found
史上最全 Jenkins Pipeline流水线详解
jenkins流水线(jenkinsfile)详解
设置jenkins时区方法
jenkins 发布k8s项目流程
linux环境下安装maven_linux maven
使用jenkins流水线完成自动部署服务到K8s_jenkins k8s
jenkins执行shell命令提示找不到命令解决办法
本文档使用 MrDoc 发布
-
+
首页
ubuntu18.04 从零开始搭建并使用jenkins,实现脚本远程
**目录** [零:配置环境](#%E9%9B%B6%EF%BC%9A%E9%85%8D%E7%BD%AE%E7%8E%AF%E5%A2%83) [一:jenkins在ubuntu上的安装](#%E4%B8%80%EF%BC%9Ajenkins%E5%9C%A8ubuntu%E4%B8%8A%E7%9A%84%E5%AE%89%E8%A3%85) [二:第一次使用](#%E4%BA%8C%EF%BC%9A%E7%AC%AC%E4%B8%80%E6%AC%A1%E4%BD%BF%E7%94%A8) [三:ssh远程连接另一台linux,并且定时编译sh脚本](#%E4%B8%89%EF%BC%9Assh%E8%BF%9C%E7%A8%8B%E8%BF%9E%E6%8E%A5%E5%8F%A6%E4%B8%80%E5%8F%B0linux%EF%BC%8C%E5%B9%B6%E4%B8%94%E5%AE%9A%E6%97%B6%E7%BC%96%E8%AF%91sh%E8%84%9A%E6%9C%AC) [四:linux 使用ssh远程连接windows,并且编译windows上RF脚本文件(未使用jenkins)](#%E5%9B%9B%EF%BC%9Alinux%20%E4%BD%BF%E7%94%A8ssh%E8%BF%9C%E7%A8%8B%E8%BF%9E%E6%8E%A5windows%EF%BC%8C%E5%B9%B6%E4%B8%94%E7%BC%96%E8%AF%91windows%E4%B8%8ARF%E8%84%9A%E6%9C%AC%E6%96%87%E4%BB%B6%28%E6%9C%AA%E4%BD%BF%E7%94%A8jenkins%29) [五:linux 使用脚本远程连接windows,并且编译windows上RF脚本文件](#%E4%BA%94%EF%BC%9Alinux%20%E4%BD%BF%E7%94%A8%E8%84%9A%E6%9C%AC%E8%BF%9C%E7%A8%8B%E8%BF%9E%E6%8E%A5windows%EF%BC%8C%E5%B9%B6%E4%B8%94%E7%BC%96%E8%AF%91windows%E4%B8%8ARF%E8%84%9A%E6%9C%AC%E6%96%87%E4%BB%B6) [六:jenkins 使用脚本远程连接windows,并且编译windows上RF脚本文件](#%E5%85%AD%EF%BC%9Ajenkins%20%E4%BD%BF%E7%94%A8%E8%84%9A%E6%9C%AC%E8%BF%9C%E7%A8%8B%E8%BF%9E%E6%8E%A5windows%EF%BC%8C%E5%B9%B6%E4%B8%94%E7%BC%96%E8%AF%91windows%E4%B8%8ARF%E8%84%9A%E6%9C%AC%E6%96%87%E4%BB%B6) 环境:ubuntu18.04.02 ## 零:配置环境 root模式 **1.安装vim (系统预装的vim tiny版本)** ```bash apt-get remove vim-common apt-get install vim ``` **2.配置桥接模式** Virtualbox-设置-网络-桥接模式 **3.配置动态IP地址(如果是在服务器上配置则跳过这一步骤,因为服务器已经配置好IP了)** 先使用ifconfig查看接口名:比如enp0s3 打开配置文件 ``` sudo vi /etc/network/interfaces ``` ``` #----------------------配置文件中追加内容------------------------ auto lo iface lo inet loopback auto enp0s3 iface enp0s3 inet dhcp #------------------------------------------------------------------- ``` 重启网络服务 ``` sudo /etc/init.d/networking restart ``` **4.更新下载源** ``` vi /etc/apt/source.list ``` 改为以下的阿里源 ``` deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse ``` ``` apt-get update ``` **5.配置ssh** ``` apt-get install openserver ``` ## 一:jenkins在ubuntu上的安装 **1.安装JDK环境** ``` sudo apt-get install openjdk-8-jre sudo apt-get install openjdk-8-jdk ``` **2.配置环境变量** ``` vi /etc/profile ``` ``` export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH ``` ``` source /etc/profile ``` **3.安装jenkins** ``` wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add - sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list' sudo apt-get update sudo apt-get install jenkins ``` 3.1 使用wget -q -O - [https://pkg.jenkins.io/debian/jenkins-ci.org.key](https://pkg.jenkins.io/debian/jenkins-ci.org.key) | sudo apt-key add - 时需要等待一会儿,直到出现OK, 如果很久以后出现 no valid OpenPGP data found的问题把第一条命令拆成两步执行 参见: [https://blog.csdn.net/weixin\_40844070/article/details/98629842](https://blog.csdn.net/weixin_40844070/article/details/98629842) 3.2 如果按照3.1的方法还是失败,则wget -q -O - [https://pkg.jenkins.io/debian/jenkins-ci.org.key](https://pkg.jenkins.io/debian/jenkins-ci.org.key) | sudo apt-key add -与3.1分别多试几次,直到出现OK,如果还是试试wget -q -O - '[https://pkg.jenkins.io/debian/jenkins-ci.org.key](https://pkg.jenkins.io/debian/jenkins-ci.org.key)' | sudo apt-key add - 还是不行再自己找办法 **4\. 访问jenkins, 使用ifconfig查看自己的ip** 浏览器中输入 http://172.31.xx.xx:8080 **5\. jenkins配置** ``` /etc/init.d/jenkins ``` **6\. jenkins管理员权限** ``` gpasswd -a root jenkins ``` **7.修改JENKINS\_USR** ``` vi /etc/default/jenkins ``` 找到JENKINS\_USER改为如下 ``` JENKINS_USER=root ``` 8.查看是否修改成功 ``` service jenkins restart ps -ef | grep jenkins ``` 显示为root用户,表示修改成功 ## 二:第一次使用 **1.输入进入jenkins的界面**  可以使用cat读取  **2.填完密码点击continue以后,如果遇到offline(离线)的情况** 1)进入插件的advanced中(在网页上输入 [http://localhost:8080/pluginManager/advanced](http://localhost:8080/pluginManager/advanced)) 2)  3)重启: [http://localhost:8080/jenkins/restart](http://localhost:8080/jenkins/restart) **3.如果没有遇到离线的情况或者执行2后第一次进入页面时提示安装推荐的插件**  选择后如果顺利则一路插件下载安装完成  tip:如果发现安装的插件过程中很多没安装成功,则不断retry, 这样很多没安装成功的又会继续安装,然后大部分会被安装成功 随后  如果登录后发现空白页的情况  在网页上填入[http://localhost:8080/pluginManager/](http://localhost:8080/pluginManager/advanced) 点击Advanced  找到  Submit后再Check now 然后在网页上输入如下网页重启 http://localhost:8080/restart  **4.jenkins汉化插件** 进入系统设置>插件管理>可选插件   先搜索[Locale plugin](https://wiki.jenkins.io/display/JENKINS/Locale+Plugin)插件并安装  安装成功  随后进入系统设置>系统管理便可以找到locale这一栏  选择系统管理  可以找到locale  安装好locale后再搜索 [Localization](https://wiki.jenkins-ci.org/display/JENKINS/Localization+zh+cn+Plugin) 选择Chinese插件  进行安装中(可能需要一定时间)  安装成功  开始配置 进入系统设置>系统管理便可以找到locale这一栏,填入zh\_CN  点击保存后会自动变成中文了  ## 三:ssh远程连接另一台linux,并且定时编译sh脚本 前提:远程linux主机也安装了ssh **1.在本地主机的jenkins的插件里面查找ssh插件,可以直接在插件管理上安装,但是由于我在jenkins网页上直接安装ssh失败,所以选择离线安装,即先下载,再在插件管理的高级里面上传SSH插件,具体如下** 1)插件下载地址: [http://updates.jenkins-ci.org/download/plugins/](http://updates.jenkins-ci.org/download/plugins/) 2)找到ssh插件  3)下载最新的一个  4) 下载好后进入jenkins的插件管理>高级>选择文件>上传  5)安装好ssh后返回首页  **2\. 回到jenkins首页,进行以下设置,域名随便写就可以,主要考虑是如果有多台主机用于区分的作用而已**  **3.点击OK后,弹出凭据页面**  **4\. 点击后会出现下图,红框填写你远程主机的用户名和登录密码**  **5.SSH的设置** 系统管理>系统设置   如果连接成功则会出现  **6.运行远程脚本** 1)新建一个item  2)定时执行,每两分钟执行一次  3)构建选择使用ssh远程连接运行脚本  4)填写远程主机IP和需要执行的命令  上面的command框相当于linux上的terminal 不用理会SSH Site not specified, 这可能是一个BUG,实际能连接 然后点击保存 5)运行,点击build now  6) 通过选择控制台可以看到输出结果,以下为远程脚本运行后输出成功  7) 可以看到两分钟运行一次编译  ## 四:linux 使用ssh远程连接windows,并且编译windows上RF脚本文件(未使用jenkins) 前提:windows需要开启ssh,win7可以安装openssh但是比较麻烦,可以上网搜索教程,顺利的话根据教程一步步来就可以安装成功。win10安装简单,也是上网搜索看看怎么安装 ssh安装参考教程:[https://www.cnblogs.com/feipeng8848/p/8568018.html](https://www.cnblogs.com/feipeng8848/p/8568018.html) tip:遇到的问题  按照教程安装完后遇到了服务名无效的情况 这时候直接试一下ssh连接服务器, ssh 用户名@ip 如下: 这时候  服务器那端也可以使用同样ssh连接windows试试,发现可以登陆成功,这样说明windos ssh虽然提示服务名无效但是实际上ssh服务确实是已经开启了 **1.执行ssh命令**  这里进入的cmd时显示的目录为你windows安装ssh时 .ssh所在的目录 **2.我的RF脚本smoke\_pr80.robot在 E:\\CI32\\autotest\\case\\component\\dcn\\route\\SafetyManagement\_Smoking,** **直接运行如下命令执行RF脚本** pybot E:\\CI32\\autotest\\case\\component\\dcn\\route\\SafetyManagement\_Smoking\\smoke\_pr80.robot ## 五:linux 使用脚本远程连接windows,并且编译windows上RF脚本文件 使用的脚本内容如下 ``` #!/usr/bin/expect -f # 设置ssh连接的用户名 set user rj # 设置ssh连接的host地址 set host 172.20.104.90 # 设置ssh连接的port端口号 set port 22 # 设置ssh连接的登录密码 set password 123 # 设置ssh连接的超时时间 set timeout -1 spawn ssh $user@$host -p $port expect "*password:" # 提交密码 send "$password\n" expect"*rj>"{send"pybot E:\\CI32\\autotest\\case\\component\\dcn\\route\\SafetyManagement_Smoking\\smoke_pr80.robot\r"} expect "*rj>" ``` **1\. 桌面下创建test.sh,并输入上面的脚本内容** **2.运行test.sh脚本** 需要先安装上 expect ``` sudo apt-get install tcl tk expect ``` 安装好后如果使用sh命令运行的话会出现如下问题  原因是因为bash使用sh运行,对于expect,不需要sh,直接文件名就可以。 tip:根据#!/usr/bin/expect还是#!/usr/bin/bash来判断是bash还是expect 运行后出现 peimission denied问题  一开始一直以为是远程连接windows的时候没有windows的管理员权限或者密码用户名错误,后面谷歌一下发现是因为文件没有可以执行的权限  使用chmod修改权限,并查看  这时候就可以执行脚本进行远程连接windows并编译脚本  ## 六:jenkins 使用脚本远程连接windows,并且编译windows上RF脚本文件 方法1.直接在构建里选择execute shell,然后填写脚本内容  方法2.在execute shell里面运行test.sh脚本  3.结果 通过控制台输出可以看到jenkins上面运行的脚本确实有帮我们填充命令  
adouk
2023年2月8日 09:26
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码