一个jenkins远程操作另一个jenkins进行构建
有时候我们需要在一台服务器的jenkins上远程操作另一台服务器的jenkins进行构建
需求的背景:公司jenkins服务器是一台windows电脑(A),不能进行flutter项目的iOS项目部分的打包,所以在另一台windows电脑(B)上装了macOS虚拟机,并安装jenkins进行自动化打包,最后实现让A的jenkins远程控制B的jenkins进行打包
具体的做法:
1、A和B的jenkins都需要安装插件Parameterized Remote Trigger Plugin
2、配置
B:任务配置
①新建任务-freestyle,名称例如witParkingIOS,选择参数化构建过程(This project is parameterized),继续选择字符参数(String Parameter)
名称随便起一个,例如BUILDKEYSFORIOS
默认值随便填,例如123ios456
描述随便
②构建触发器-触发远程构建
身份验证令牌随便填,例如123456
③系统管理-系统配置-Jenkins URL
设置本机ip+8080即可,例如http://100100100100:8080/,这里可以让同事用别的电脑访问此地址,能够访问你的jenkins即可
A:任务配置
①系统管理-系统配置-Parameterized Remote Trigger Configuration
Display name填上文的BUILDKEYSFORIOS
Authentication选择Token Authentication
User Name填jenkins账号名
API Token填上文的身份验证令牌123456
Remote Jenkins URL填上文的Jenkins URL
②新建任务-freestyle,构建中选择Trigger a remote parameterized job,select a remote host这里可以选择到第一步配置的BUILDKEYSFORIOS
Job Info的Remoter Job Name or URL这里,填B的jenkins的对应任务的名称witParkingIOS
Token填上文的身份验证令牌123456
Parameters填BUILDKEYSFORIOS=123ios456
这样A的任务点击立即构建,即可自动调用B的abc任务构建
现在一般采用云服务器的模式,直播前端传输既然问题没有提及,各家实现各有千秋,暂且掠过不说。下面着重说说后段服务器的构成。
服务器组成大致有接口服务器/应用服务器/数据库服务器以及存储(OSS)服务器。各自用途以及侧重点不一样,譬如接口服务器以及OSS服务器公网带宽的足够,要不然从客户端访问速度就会受限,应用服务器/数据库服务器则以稳定可靠为要点。
现在互联网公司都不会选择自己构建服务器,大多采用的是租用云计算服务提供商的设备,譬如阿里云/华为云或者腾讯云,几家服务本质上没有太大差异,这里就不展开了。
既然谈到直播的服务器,其核心还是在OSS服务器这块,业界也有很多成熟服务提供商,譬如阿里/华为/腾讯等等。笔者观点在的隐私保护方面是要点,市面上的OSS服务大致有两种类型,一种是公有空间,一种是私有空间,这两种类型价格差异较大,公有空间更便宜,但是隐私保护存在隐患:有心的人可以随意获取任何;私有空间价格更贵,服务组网更复杂,但是每次访问都需要通过用户鉴权,相对安全性有保证。享像派曾经分析过市面上所有的照片直播/直播工具,除了咱家外其他都用的是公有空间
1、安装java
方式一:安装java环境:yum install java-180-openjdk -y
使用命令检查是否安装成功 java -version
到此安装结束了。这样安装有一个好处就是不需要对path进行设置,自动就设置好了。jdk安装在/usr/lib/jvm目录下
方式二:先下载对应版本到本地,然后解压缩,配置环境变量(详细步骤百度即可)
2、安装jmeter
(1)登录自己服务器,在usr/local下创建文件夹jmeter,命令mkdir jmeter
(2)通过官网下载jmeter到本地
(3)通过xhell上传到对应的目录(cd到要上传的目录)
(4)yum -y install lrzsz(安装了lrzsz,执行该命令是因为服务器有的文件不让上传。让上传就不用执行)
(5)使用 rz -y命令进行文件上传,此时会弹出上传的窗口,进行上传即可
(6)上传成功之后进行解压 unzip apache-jmeter-54zip
(7)配置环境变量vi /etc/profile
esc+shift # 键盘同时按住,退出编辑模式
:wq # 保存退出
:q # 不保存退出
添加如下内容:
# set Jmeter enviroment
export JMETER_HOME=/usr/local/jmeter/apache-jmeter-54
export PATH=${PATH}:${JMETER_HOME}/bin
(8)source /etc/profile # 使配置文件生效
(9)jmeter -version
3、安装ant
(1)在usr/local下创建文件夹ant,命令mkdir ant
(2)通过官网下载ant到本地
(3)使用 rz -y命令进行文件上传,此时会弹出上传的窗口,进行上传即可 sz 文件名(服务器文件下载到本地)
(4)上传成功之后进行解压 unzip
(5)配置环境变量vi /etc/profile
# set Ant enviroment
export ANT_HOME=/usr/local/ant/apache-ant-11010
export PATH=${PATH}:${ANT_HOME}/bin
(6)source /etc/profile # 使配置文件生效
(7)ant -version
4、ant的配置
(1)将jmeter安装包extras文件夹里ant-jemter-111jar 复制到antlib下
cp ant-jmeter-111jar /usr/local/ant/apache-ant-11010/lib
(2)进入apache-jmeter-30extras运行ant ,查看该目录下是否出现Testjtl、Testhtml文件,若有,则构建成功
5、编写Ant的buildxml文件
(1)创建Jmeter_Test目录,放在/usr/local/下
(2)Jmeter_Test目录下创建buildxml、ResultLog(html,jtl)、Script(放脚本)
(3)buildxml文件内容去https://wwwcnblogscom/L-Test/p/9736808html下复制,需要修改里边的路径
6、jenkins安装
(1)Jenkins下载地址:https://jenkinsio/download/
(2)下载的是jenkinswar
(3)在Linux下启动Jenkins有两种方式,一种是在jenkinswar的存放目录下使用命令java -jar jenkinswar启动,
另外一种是把jenkinswar放在tomcat的webapps目录下,然后启动tomcat就可以了(本次用的第一种)
(4)在浏览器中输入http://服务器ip:8080/jenkins/
如果是用的阿里云服务器,启动成功之后,在浏览器访问,无法访问。解决办法就是登陆阿里云服务器修改一下安全规则,把端口范围调大
(5)访问成功之后输入管理员密码
(6)安装推荐的插件,创建管理员用户
7、jenkins的其他配置
(1)修改为中文依赖的三个插件localization-zh-cn、locale、localization-support
jenkins插件下载地址https://blogcsdnnet/qq_39530199/article/details/90266654
(2)不知道依赖于那个插件,可以看看manage Jenkins里边的报错 plugin is missing
8、git的安装
(1)git下载地址:https://mirrorsedgekernelorg/pub/software/scm/git/
(2)usr/local下新建git目录,cd到git,安装包上传上来, tar -zxvf v2170targz
(3)安装编译源码所需依赖,命令为: yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl- ExtUtils-MakeMaker 耐心等待安装,出现提示输入y即可;
(4)安装依赖时,yum自动安装了Git,需要卸载旧版本Git,命令为: yum remove git 出现提示输入y即可;
(5)进入解压后的文件夹,命令 cd git-2170 ,然后执行编译,命令为 make prefix=/usr/local/git all 耐心等待编译即可;
(6)安装Git至/usr/local/git路径,命令为 make prefix=/usr/local/git install ;
(7)打开环境变量配置文件,命令 vim /etc/profile ,在底部加上Git相关配置信息
# set Git enviroment
export GIT_HOME=/usr/local/git
export PATH=$GIT_HOME/bin:$PATH
(8)git version
9、jenkins安装相应插件
(1)安装源码管理选择git需要的插件git、git-server、git-client、github-api、plain-credentials、github
上传插件的时候可能会报错,可以把插件上传顺序改一下在上传
(2) jenkins设置git的安装路径,点击全局工具配置/usr/local/git/bin/git(whereis git 命令可查看)
(3)windows本地安装git,把代码推送到github(需要在github创建一个仓库),参考自动化测试的 《
(4)jenkins配置源码管理选择git,地址输入github项目地址,账号可以先在jenkins凭据配置中添加github账号
输地址或账号的时候可能会报403的错误。解决办法刷新一下或者 在Configure Global Security中开启 启用代理兼容
(5)配置完源码管理,直接进行构建,代码自动下载到/root/jenkins/workspace/git/路径下
10、接下来需要把buildxml中脚本路径改为/root/jenkins/workspace/git/进行构建,可以在Github里提交一个jmx文件构建一下试试
0条评论