jenkins脚本自动部署
A. Jenkins自动发布-openssh7.1配置
在jenkins部署脚本自动发布的时候,在系统设置中,会用到jenkins插件ssh-plugin所带的“ssh sites”模块,但是如果目标服务器的openssh是7.0版本的话,jenkins会不识别openssh7.0的算法,导致jenkins一直会报“can not connect!”的错误。(如下图)
我也是煞费苦心,研究了好多天才,查了无数的文档,才得以解决。
首先,连接不上的原因,是因为openssh7.0更新了新的算法,老版本不识别新版本的算法。
其次,也有部分原因是jenkins插件的升级,相关插件及版本,如下图。
最后,保证以上插件版本都没问题的情况下,修改目标服务器上面的/etc/ssh/sshd_config文件:
1.将 PasswordAuthentication 参数的值修改为yes,如果是注释掉的,把注释去掉。
2.在文件最下方添加:
Ciphers aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,3des-cbc,arcfour128,arcfour256,arcfour,blowfish-cbc,cast128-cbc
MACs hmac-md5,hmac-sha1,[email protected],hmac-ripemd160,hmac-sha1-96,hmac-md5-96
KexAlgorithms diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group1-sha1,[email protected]
Ps:Ciphers 指定SSH-2允许使用的加密算法。
MACs 指定允许在SSH-2中使用哪些消息摘要算法来进行数据校验。
Kexalgorithms 指定可用的密钥(密钥交换)算法。
以上就是所有的步骤了。现在,再去jenkins里看下是不是好了。呵呵哒。
为此,楼主可是高兴了半天。
B. 如何利用jenkins git shell脚本自动部署服务
shell作业要求:
1、从git服务器clone和pull代码(可指定分支,http方式)
2、项目打包
3、部署到本地tomcat
4、需要支持的参数(可通过配置文件):git项目地址、分支名称、项目本地目录
注意:脚本的话不要随意的在网页上运行,因为不同的操作系统会自动给它加上一个你看不到的标记,这会让新手非常的茫然,自己手动敲敲没什么坏处
C. 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文本域中,并点击"保存" -> "立即构建"即可部署。
D. 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);
E. Gitlab+Jenkins通过钩子实现自动部署web项目,图文详细教程
扩展参考:Jenkins+Gitlab通过脚本自动部署回滚web项目至集群
1):Gitlab服务器:ubuntu 192.168.152.131 ---参考搭建:linux安装gitlab,docker安装gitlab教程
2):Jenkins服务器:ubunu 192.168.152.130 ---参考搭建:linux安装Jenkins,或docker安装Jenkins教程
在服务器上生成ssh-keygen,用于配置web服务器和Gitlab服务器。
3):web服务器:centos 192.168.152.150 ---已搭建好LNMP环境
4):开发者电脑:Windows+key密钥 (用于提交代码)
1:在gitlab创建项目Test Project
2.1): 配置一个开发者电脑的ssh公钥到gitlab
配置一个开发者电脑的ssh公钥到gitlab,这样才能模拟开发上传代码到gitlab。
windows生成key过程及git安装,可参考:Windows下git和github的使用图文详细教程_the丶only的博客-CSDN博客_github win
在windows测试clone,和提交代码。
注:最新版git 已经将默认分支master改为main了。所以看到main,而不是master不要太奇怪
测试成功,在gitlab也显示有index.html文件。
2.2): 配置jenkins公钥到gitlab
同理,同样需要jenkins公钥,因为jenkins也需要拉去gitlab的代码。
在 jenkins服务器 上查看公钥并复制添加到gitlab,并命名为jekins。
1:插件管理,安装插件
jenkins本身没什么功能,主要是依靠插件来实现各种强大的功能。
基本需要添加的插件:Gitlab Hook、Build Authorization Token Root、Publish Over SSH、Gitlab Authentication、Gitlab、Git Parameter
可以在 Manage Jenkins >> Manage Plugins 查看管理插件。在Available 选项搜索安装插件即可。
安装完成后,重启Jenkins。
2:添加需要部署的web主机
在 Manage Jenkins >> Configure System 中往下翻,找到 Publish over SSH 选项,点击add ssh server。
在Jenkins服务器上,查看私钥,注,是私钥,不是公钥。
将私钥填写在key位置,还有添加web服务器相关信息。
注:如果测试报错如下
Failed to connect or change directory
jenkins.plugins.publish_over.BapPublisherException: Failed to add SSH key. Message [invalid privatekey: [B@2e54414f]
是因为默认用ssh-keygen命令,默认生成了OPENSSH 格式密钥。而Jenkins暂时不支持这种私钥,私钥开头结尾如下:
所以,需要生成rsa密钥格式的。用开头说的ssh-keygen加其他参数生成即可。
私钥开头结尾如下:
再次测试,显示success,则成功。然后点击save保存即可。
3:构建任务项目
首页创建任务或者一个项目
命名为web-project,选择为freestyle project 自由项目。然后ok确认。
3.1):源码管理 Source Code Management
选择源码管理,添加gitlab的项目clone地址。
注:最后路径选择分支,我gitlab主分支名字为main,如果是master,则写master,或者合并的其他分支。
在add添加用户
添加完成后,选择git用户,这时没有红色提醒,说明已成功连接
3.2):构建触发器 Build Triggers
现在Build Triggers,勾选build when....,其他默认,并记下链接 http://192.168.152.130:8080/project/web-project
点击高级 advance 选项。
勾选filter branches regex选择,填写分支,生产token。其他默认
3.3):构建 Build
选择Build 选项。选择ssh
添加web服务器
添加完毕,最后save保存。
1:添加钩子webhooks.
选择自己的项目Test Project,在设置setting里,选择钩子webhooks.
填写刚才记下的http://192.168.152.130:8080/project/web-project和token值。
最后Add webhook完成:
2:如添加失败,报错,更改Network
注:如填写失败提示Url is blocked: Requests to the local network are not allowed
还需更改Network选项。
3:测试钩子
添加完成后,下面会出现钩子选择。点击test中的,push event。
出现successful,即添加成功。
在Jenkins也可以看到刚才的测试时间信息。
在开发电脑上测试提交,我这里为Windows电脑测试。
打开Git Bash,输入以下命令:
提交成功,回到Jenkins,查看是否构建成功:
绿色显示构建成功,无错误显示。回到gitlab查看项目。
时间显示刚才也提交成功,无错误。最后在浏览器输入web地址测试,本人配置了web访问端口8082。所以输入IP加端口访问。
内容也已经自动更新成功。
完结撒花!!!
F. 自动化部署工具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试试吧。
G. Jenkins自动化发布方法
jenkins自动化发布首先需要知道其原理,知道了理论后才可以更好的配置。同时也需要知道一些基本知识(如果不懂需要自己学习),比如webhook、docker、宿主主机、挂载目录/文件(外挂仓库)、shell脚本等。
一、前期准备
1、分支
确保自动化发布仓库分支统一,正式环境需要是release,内网测试环境test_release。如果没有的请先新建好。
注:release需要是保护分支,因为正式环境不允许随意发布。设置后需要在保护分支设置里面配置其【可合并 Pull Request 成员】为可以审核发布人。如下saas中台前端的配置:
H. jenkins部署jeecg-boot3.1(前后端)自动化
我是使用我的腾讯云轻量应用服务器做的本次实战
(操作系统:CentOS 7.6 64bit)
(主机规格:CPU: 4核 内存: 4GB)这个配置起前端有点带不动-_-,建议8G内存,这个问题我反复测试很多次。一跑npm 就开始疯狂占资源,然后操作系统内存不够直接把jenkins的进程都给杀了。所以如果你也是4g或者2g内存,尽量不要有其他多余的应用或者容器在机器上运行。
启动:
a与b的结果都是将jenkins启动,也是我们的目标,本篇文章采用war包方式,也建议war包的方式,docker启的话,里面jdk是11,而我机器的jdk是8,同时项目jdk也是8,换11的话,天知道会出什么问题。 启动之后,访问一下,上述例子中我映射了7999端口,同时我的腾讯云防火墙也开放了7999这个端口,下面是访问图例:
根据提示粘贴密码,如果是war包启动的就直接复制页面提示的路径就可以,输入命令,即得密码
如果是docker启动的,上面的-v挂载了一个路径 /jenkins-data 这里面的文件就是容器里jenkins_home里面的文件,故路径就变成了
随后,输入得到的密码,进入,选择安装推荐的插件
接下来,就等待机器安装,然后创建第一个账户,然后jenkinsURL默认是啥就是啥(反正可以改的),可能会提示重启,如果没有不管。进入jenkins
到这里,先停一下。右上角红色的1不管。
装插件: (系统管理)Manage System -> (插件管理)Manage Plugins -> (可选的插件)Available,在 Filter 中搜索 Gitee,Jersey2 API这两个插件,然后分别选中,然后点install without restart。
等待安装完毕即可。
之后,就是配置gitee了
系统管理—>系统配置---->gitee配置
在 链接名 中输入 Gitee 或者你想要的名字
Gitee 域名 URL 中输入码云完整 URL地址: https://gitee.com (码云私有化客户输入部署的域名)
证书令牌 中如还未配置码云 APIV5 私人令牌,点击 Add - > Jenkins
Domain 选择 全局凭据
Kind 选择 Gitee API 令牌
Scope 选择你需要的范围
Gitee API Token 输入你的码云私人令牌,获取地址: https://gitee.com/profile/personal_access_tokens
这个令牌建议保存在云笔记之类的东西上,方便自己以后用
ID, Descripiton 中输入你想要的 ID 和描述即可。然后点添加,然后回来选择刚刚添加的令牌,点击测试链接,出现成功即可。
我是在宿主机安装的maven,这样后面shell命令里面可以直接用mvn
maven的话最好是使用jeecg官方推荐的
找一下settings文件
就可以看到maven home 然后在maven home的conf目录下就有settings文件了。
然后替换一下 settings.xml文件,或者直接改也行(就下面这部分):
npm是装在宿主机的。因为我是war包直接起的。所以可以直接在后面shell命令里面用npm,如果是docker启动的,容器里面是没有node的,而且容器里面jdk是11,就…不是很方便,所以我前面建议war包直接起。
我的版本:
jeecg-boot/ ant-design-vue-jeecg / Dockerfile:
jeecg-boot/ ant-design-vue-jeecg / .env.proction
新建任务–>构建一个自由风格的软件项目—>源码管理—>点git
输入repository URL: https://gitee.com/xiao_chaowen/jeecg-boot.git( 也就是仓库地址)
配置凭证:
gitee的用户名密码
点高级:
Branch Specifier 选项:
对于单仓库工作流输入: origin/g i t e e S o u r c e B r a n c h
对 于 P R 工 作 流 输 入 : p u l l / {giteeSourceBranch}
对于 PR 工作流输入: pull/giteeSourceBranch
对于PR工作流输入:pull/{giteePullRequestIid}/MERGE
Additional Behaviours 选项:
对于单仓库工作流,如果你希望推送的分支构建前合并默认分支(发布的分支),可以做以下操作:
点击 Add 下拉框
选择 Merge before build
设置 Name of repository 为 origin
设置 Branch to merge to 为 ${ReleaseBranch} 即要合并的默认分支(发布分支)
对于 PR 工作流,码云服务端已经将 PR 的原分支和目标分支作了预合并,您可以直接构建,如果目标分支不是默认分支(发布分支),您也可以进行上诉构建前合并。
接着构建触发器:
点击gitee webhook触发构建
点击生成一下gitee webhook密码 同时记录上面一张图的gitee webhook要填的URL。然后去gitee新增webhook进行填写即可。
然后回来配置构建,点击增加构建步骤—>执行shell:
这堆命令,就是起后台和前台的镜像,可以根据自己情况更改
然后是构建后操作:
完事了保存一下。就可以在gitee webhook那里点击测试,然后回到jenkins查看控制台输出
然后查看服务器,会有四个容器已经启动,如果启动失败的,看一下logs,有可能是配置之类的问题。
现在就可以访问8000
I. Jenkins 自动构建部署tomcat项目
Jenkins 是一个开源的、功能强大的应用程序,可持续集成并且持续交付项目。Jenkins自动构建项目的流程原理如下图所示:
用户通过将源码push到svn或者git等仓库上,然后Jenkins会定期pull检查仓库中的源码是否有变化。如发生变化则会重新构建测试项目并打包生成相应的文件存放在指定的目录,这过程中的完成情况可设置以邮件的形式反馈给管理员,并且管理员可登陆到Jenkins上查看相应项目的构建情况。接着项目构建成功后,Jenkins会把相应的项目包推送到指定的服务器上的指定目录下, 然后执行相应的命令进行项目的部署。
接着我们就来看看如何使用Jenkins完成tomcat项目的自动构建部署。
Jenkins的安装可参考: https://www.jianshu.com/p/f2da45e2bac7
在Jenkinsweb界面中的系统管理->系统配置 添加相应的SSH Servers:
如上图所示,添加相应的SSH Server的Ip、用户密码等信息,并设置远程主目录为根目录,也可以配置SSH key 实现免密认证访问。
因为本次实验中我需要构建 https://github.com/charliewch/game-of-life 此项目,因此在构建之前需要保证Jenkins能够连接上GitHub。此实验中,我的Jenkins运行在tomcat应用上,因此其运行用户为tomcat,所以需要使用tomcat用户生成相应的ssh key 然后设置到github 的 setting中。
把上述的id_rsa.pub内容复制粘贴到github的setting中的SSH and GPG keys上:
配置完成后,能够出现下述信息,说明tomcat 用户连接到github已经成功。
在系统管理->系统设置中找到下图的设置,并配置相关的邮件服务器信息
点击新建任务,输入项目名后选择构建一个自由风格的软件项目并确定保存。
在源码管理中添加git作为源码仓库。
设置轮询SCM为每15分钟轮询一次,此处的编写规则遵循crontab 任务的周期编写规则。
在构建增加调用顶层Maven模板的步骤,添加目标为clean package,用于将相应的java项目打包成war包,存放在target目录下。
在构建后的步骤中,新增Editable Email Notification,并在高级中配置触发邮件报警的条件:
此处设置的recipient List 为上一步设置的收件人列表
继续在构建后操作添加步骤:Send build artifacts over SSH
配置完成后点击保存即可
在Gameoflife任务的工作空间中,点击立即构建按钮触发新的构建,点击Build history可查看相应的构建情况:
另外在相应的构建任务中点击查看控制台输出,能够查看构建的结果及相应信息输出,有助于排查错误。
从下图看到,报警邮件也触发成功了。
最后,此时如果用户对修改相应的git仓库的中源码,在下一次git轮询Jenkins会自动触发相应的项目构建并进行推送部署,用户可查看相应的git轮询日志来查看轮询的情况。
J. 再见 Jenkins!几行脚本搞定自动化部署,这款神器有点厉害
Drone是一款基于容器技术的持续集成工具,使用简单的YAML配置文件即可完成复杂的自动化构建、测试、部署任务,在Github上已经有22K+Star。
对比Jenkins复杂的图形化界面操作,Drone使用脚本来定义流水线任务无疑更简单、更直观。Drone更加轻量级,内存占用少且响应速度快!自动化部署要啥Jenkins?直接给Git整个CI/DI功能难道不香么?
https://github.com/macrozheng/mall-learning/tree/master/mall-tiny-drone
