当前位置:首页 » 编程软件 » jenkins自动化脚本

jenkins自动化脚本

发布时间: 2023-03-18 01:05:06

A. STF结合Jenkins实现Monekey测试自动化

STF是一个可以通过网页管理和使用移动设备的平台,支持远程调试、远程使用手机浏览器打开链接、远程执行shell脚本、远程拖拽安装App、远程查看日志、远程截屏等功能。

关于枯答搏STF的详细搭建流程可以参考我的这篇文章举迟:
《OpenStf的搭建以及分布式部署的没祥实现》

当CI Monekey测试任务跑起来之后,STF就会自动刷新页面显示正在自动化标记

B. jenkins怎么实现客户端自动化脚本

首先搭建起jenkins环境,android官方提供了使用ant编译打包的脚本,所以要在jenkins系统配置里面将ant配置好;然后在jenkins里面新建一个项目,这里列出比老知搜较重要猛猛的几项配置: 1、项目源代码侍历位置,一般就是指定svn吧 2、构建过程添加shell

C. Jenkins自动化发布方法

jenkins自动化发布首先需要知道其原理,知道了理论后才可以更好的配置。同时也需要知道一些基本知识(如果不懂需要自己学习),比如webhook、docker、宿主主机、挂载目录/文件(外挂仓库)、shell脚本等。
一、前期准备
1、分支
确保自动化发布仓库分支统一,正式环境需要是release,内网测试环境test_release。如果没有的请先新建好。
注:release需要是保护分支,因为正式环境不允许随意发布。设置后需要在保护分支设置里面配置其【可合并 Pull Request 成员】为可以审核发布人。如下saas中台前端的配置:

D. 再见 Jenkins!几行脚本搞定自动化部署,这款神器有点厉害

Drone是一款基于容器技术的持续集成工具,使用简单的YAML配置文件即可完成复杂的自动化构建、测试、部署任务,在Github上已经有22K+Star。

对比Jenkins复杂的图形化界面操作,Drone使用脚本来定义流水线任务无疑更简单、更直观。Drone更加轻量级,内存占用少且响应速度快!自动化部署要啥Jenkins?直接给Git整个CI/DI功能难道不香么?

https://github.com/macrozheng/mall-learning/tree/master/mall-tiny-drone

E. 自动化部署工具jenkins,从此摆脱重复单调的工作

它是基于java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

有了它你可以免除手工编译,发布代码,上线更容易。节省的时间你可以喝杯咖啡,放松一下 ^_^

道路千万条,熟悉第一条,我这里使用 Red Hat 家族衍生的 centos 上安装Jenkins。

这里可以下载rpm包: http://pkg.jenkins-ci.org/redhat/

也可以如下操作:

安装

将Jenkins存储库添加到yum repos,并从此处安装Jenkins。

安装稳定版

还有一个LTS YUM资源库的LTS版本线

安装Java

Jenkins需要Java才能运行,但默认情况下某些发行版不包含此内容。要安装Open Java Development Kit(OpenJDK),请运行以下命令:

安装完成后Jenkins 启动之前的注意事项

默认情况是Jenkins是使用Jenkins用户启动的,但这个用户目前系统并没有赋予权限,这里我们将启动用户修改为root;另外Jenkins默认端口是8080,这个跟tomcat的默认端口冲突,我们也修改一下默认端口。

找到 JENKINS_USER 和JENKINS_PORT ,修改为root和你需要的端口

启动/停止

注意:如果收到以下错误消息,请确保已安装Java:

Starting jenkins (via systemctl): Job for jenkins.service failed. See 'systemctl status jenkins.service' and 'journalctl -xn' for details.[FAILED]

禁用防火墙

有关CentOS Java的重要说明

Jenkins需要Java才能运行,但yum install jenkins不强制已经安装了java。检查以确保您已通过运行安装了hava java java -version。为了进一步使CentOS用户感到困难,默认的CentOS版本的Java与Jenkins不兼容。Jenkins通常最适合使用Java的Sun实现,由于许可原因,它不包含在CentOS中。

如果您获得类似于以下内容的输出,则表示您使用的是Java的默认(GCJ)版本,该版本不适用于Jenkins:

要解决此问题,您可能需要删除GC的GCJ版本并安装Sun兼容版本。

如果收到上面的输出,请卸载默认的java:

然后在卸载Java之后(或者如果你根本没有安装Java那么开始)。您需要安装与Sun兼容的Java版本。最简单的方法是使用OpenJDK,它可以通过EPEL存储库获得(或者您可以直接从Oracle安装官方 RPM)。要安装OpenJDK,请运行以下命令:

根据您的CentOS版本,OpenJDK的软件包名称可能有所不同。使用yum search openjdk来检查包的名称。如果通过yum找不到OpenJDK,则可能需要安装EPEL yum存储库。安装后,您应该能够获得以下java -version输出:

Ok,到此jenkins安装完成。

接下来你可以在浏览器地址中输入Jenkins网址,如:IP:端口,将显示如下内容:

拷贝指定文件密码,进入用户自定义插件界面,建议选择安装官方推荐插件:

接下来是进入插件安装进度界面:

等待一段时间之后,插件安装完成,配置用户名密码:

OK,你可以使用jenkins来编译、发布你的代码了。oh,它支持从代码库中直接拉取代码,git、svn都支持。赶快使用你的Spring boot、go试试吧。

F. Jenkins自动化部署到多台服务器配置

1:Jenkins秘钥查看

需要查看秘钥,

然后在 **.16.200.22和**.16.200.28服务器的目录下面将Jenkins秘钥放到~/.ssh/authorized_keys文件里。

3:Jenkins自动化部署到多台服务器脚本

library 'lib-base@master'

def map = [:]

//######传参########

map.put('GIT_URL','http://172.16.0.1/FN-PM0091/cdd.git')

map.put('GIT_BRANCH','master')

map.put('GIT_CRED_ID','jenkins')

def archivelist=[]

archivelist.add('job-excutor/target/cdd1.jar')

map.put('ARCHIVE_FILE',archivelist)

// skywalking 服务目录

def SKYWALKING_DIR = '/usr/local/apps/apache-skywalking-apm-bin-es7'

// skywalking oap 服务地址

def SKYWALKING_OAP_IP = '172.16.200.54'

def SKYWALKING_OAP_PORT = 11800

def deploylist=[]

deploylist.add("runjar -f 'cdd-service/target/cdd1.jar' -v '/data/cddm'  -j '-Xms512m -Xmx512m' -h **.16.200.28")

deploylist.add("runjar -f 'report-executor/target/cdd1.jar' -v '/data/cddm' -j '-Dnacos.logging.default.config.enabled=false -Xms512m -Xmx512m' -h **.16.200.22")

map.put('DEPLOY_RUN',deploylist)

//################

DockerBuild("maven",map);

G. Jenkins pipeline demo - 获取python script 输出

在 Jenkins Job 中槐举携,添加一个 pre script 来提高自动化程度,将这个脚本的输出作为其他主要流程build的参数,因此,build 参数的逻辑由 pre script 来控制,而不改变main job的逻辑。

下面的 sample 是通过获取一个 python 脚本的 console output 到 pipeline,然后再传递铅伏给其他 step 使用。

python script 中 print 或 sys.stdout.write 的输出,Jenkins 都可以获取到。只需要在pipeline script 中使用下面的方法,会获取到 script 的所有 output.

func test_value 是为了说明 return value 但并不输出到console,脚本执行结束后 Jenkins 并获取不到。下面的脚本,Jenkins 获取到的是 “Value: 2 3”。为了 pipeline 处理方便,可以在脚本中控制输出。

sample pipeline 中设置了三个stage,Preparation中定义答滑一个变量,Get number 执行python 脚本,获取输出,Result 中使用该变量。

H. 16 Web 自动化测试 -- Jenkins执行脚本

想要通过Jenkins来执行脚本,我们得在Jenkins上先安装一些必要的环境,并去新建一个Maven Job。

详细见个人博客: http://www.jianshu.com/p/026c0fcaedf0

这里对日程表的五颗 * 做个说明:

注意也需要在Jenkins Location中设置管理员邮件地址:

接着在Job 的配置的“构建后操作”中添加发送邮箱操作,可选“Editable Email Notification” 插件,并做配置。
Project Recipient List 配置要收到邮件的邮箱列表
Content Type 配置邮件发送类型
Default Content 配置邮件发送内容,例如content type我选择了HTML,那么我可以编写html于内容中,发邮件后会自动化解析成页面形式。例如:

I. Jenkins+Rancher自动化部署

本文主要记录Jenkins+Rancher+k8s自动化部署相关配置说明,不涉及rancher和jenkins安装部署,包含java server项目、WAR项目、前端VUE项目部署配置介绍。

服务器环境信息:

需要在安装jenkins服务上部署下面相应的软件,请注意软件版本,如已经安装相关软件,可跳过此章节。

需要安装rancher-cli,并且使用jenkins用户预先登录rancher平台:命令参考:

--token:这个用户的token建议设置为永不过期,在rancher管理端 -> api&key > 添加。

建议安装阿里镜像,提高编译速度:

jenkins启动用户需要添加到docker组中:

项目主要是java和vue开发的,所以需要安装Maven Integration plugin插件。

spring boot或者spring cloud自带容器,以及其它服务类型的java后端应用部署。

1、填写项目名称,选择"构建一个maven项目"

点击下面"OK"按钮

2、填写项目描述信息

3、输入项目地址,并选择用户凭证

本文通过conding.net作为代码管理平台,点击"Add"添加自己账号凭证(输入coding.net平台登陆账号密码即可)。

4、配置maven编译脚本

5、编写rancher部署脚本

Dockerfile参数说明:FROM:选择基础镜像包,该项目是用java语言开发需要jdk1.8所以选择openjdk:8ADD:将bRule-deploy-1.0.0.tar.gz文件解压上传到镜像的brule目录EXPOSE:容器内部启动2002端口,根据自身项目填写指定端口,多个端口填写多行EXPOSE标签ENTRYPOINT:容器启动时执行的命令,执行多条命令使用&&拼接,命令行中带&需要加上转移符\&,使用tail -fn监听应用日志,以便容器日志查看。

用于创建docker镜像,就好比创建一个已经安装并且配置好了应用程序的操作系统镜像。

参数说明:192.168.100.21:5000:为本地docker镜像服务器地址brule:latest:应用名称,根据自身项目名称修改

利用上面创建好的操作系统镜像启动一个vmware虚拟机,创建k8s容器。

参数说明:brule:应用名称,根据自身项目名称修改,应用名称规范?(.?)*image:刚才创建的docker镜像containerPort:容器启动端口,多个端口使用多行containerPort标签声明,端口限制在【30000-32000】

前面vmware虚拟机创建好后,怎么能让别人访问?这个时候就需要创建一个网络服务,用于打通路由器与vmware本地虚拟机的网络。

参数说明:brule:应用名称,根据自身项目名称修改port:容器启动端口nodePort:对外提供服务端口,外部机器访问

将上面配置好的shell脚本复制到Post Steps -> 执行shell文本域中,并点击"保存" -> "立即构建"即可部署。

1、进入刚才创建好的jenkins任务,点击立即构建

2、点击左下角构建任务,选择"Console Output",查看构建日志

3、登录rancher管理平台,查看构建好的应用

基于J2EE项目的war包部署,前面操作都一致,只是shell部署脚本稍有不同,这里主要详细说明rancher部署脚本。

Dockerfile参数说明:FROM:选择基础镜像包,war统一使用tomcat容器部署,tomcat:8.5-jre8-slimADD:将operation.war文件解压并上传到镜像的/usr/local/tomcat/webapps/目录EXPOSE:容器内部启动8080端口,根据自身项目填写指定端口,多个端口填写多行EXPOSE标签

这里不需要配置ENTRYPOINT标签,因为tomcat镜像包中已经有了。

用于创建docker镜像,就好比创建一个已经安装并且配置好了应用程序的操作系统镜像。

参数说明:192.168.100.21:5000:为本地docker镜像服务器地址operation:latest:应用名称,根据自身项目名称修改

利用上面创建好的操作系统镜像启动一个vmware虚拟机,创建k8s容器。

参数说明:operation:应用名称,根据自身项目名称修改image:刚才创建的docker镜像containerPort:容器启动端口,多个端口使用多行containerPort标签声明,端口限制在【30000-32000】

前面vmware虚拟机创建好后,怎么能让别人访问?这个时候就需要创建一个网络服务,用于打通路由器与vmware本地虚拟机的网络。

参数说明:operation:应用名称,根据自身项目名称修改port:容器启动端口nodePort:对外提供服务端口,外部机器访问

将上面配置好的shell脚本复制到Post Steps -> 执行shell文本域中,并点击"保存" -> "立即构建"即可部署。

基于webpack构建的VUE项目部署,前面操作都一致,只是shell部署脚本稍有不同,这里主要详细说明rancher部署脚本。

Dockerfile参数说明:FROM:选择基础镜像包,前端统一使用tomcat容器部署,tomcat:8.5-jre8-slimCOPY:将/dist目录上传到镜像的/usr/local/tomcat/webapps/fastquery/目录EXPOSE:容器内部启动8080端口,根据自身项目填写指定端口,多个端口填写多行EXPOSE标签

这里不需要配置ENTRYPOINT标签,因为tomcat镜像包中已经有了。

用于创建docker镜像,就好比创建一个已经安装并且配置好了应用程序的操作系统镜像。

参数说明:192.168.100.21:5000:为本地docker镜像服务器地址operation:latest:应用名称,根据自身项目名称修改

利用上面创建好的操作系统镜像启动一个vmware虚拟机,创建k8s容器。

前面vmware虚拟机创建好后,怎么能让别人访问?这个时候就需要创建一个网络服务,用于打通路由器与vmware本地虚拟机的网络。

参数说明:shutcm-fastquery-web:应用名称,根据自身项目名称修改port:容器启动端口nodePort:对外提供服务端口,外部机器访问

将上面配置好的shell脚本复制到Post Steps -> 执行shell文本域中,并点击"保存" -> "立即构建"即可部署。

热点内容
明日之后如何扫码登服务器 发布:2025-07-19 20:36:26 浏览:239
ftp搜索引擎工作原理 发布:2025-07-19 20:31:25 浏览:370
景物视频脚本 发布:2025-07-19 20:30:33 浏览:178
hadoop查看文件夹 发布:2025-07-19 20:19:12 浏览:21
安卓手机的旁白在哪里 发布:2025-07-19 20:09:40 浏览:740
身份证注册借书卡的密码是什么 发布:2025-07-19 19:44:39 浏览:75
玩梦幻西游哪个配置好 发布:2025-07-19 19:44:37 浏览:752
php数组大小排序 发布:2025-07-19 19:27:51 浏览:647
linux查找并删除 发布:2025-07-19 19:25:14 浏览:935
linux实验环境 发布:2025-07-19 19:15:09 浏览:411