引言
我们在开发过程中经常需要修改本地代码,并提交到git或svn。要运行程序则需要将svn或git上的代码编译并部署到web服务器。这个部署如果是手动的则每次都需要执行编译命令,再手动把war文件之类拷贝到服务器,最后重启tomcat,次数多了就会显得很繁琐。Jenkins就是为了解决自动化部署而生。
我的环境:
本地windows10,服务器centOS 7。两方都安装了jdk跟tomcat。
1. 本地机器下载安装Jenkins
jenkins下载地址:jenkins.io/
安装前提是你的windows已经装好了jdk跟tomcat。在这里我用的是jdk8跟tomcat9。
1.1 以上地址点击download后最后有个war文件下载。点击下载到本地。
然后放到tomcat的webapps目录下,注意文件超过了50M,需要修改Tomcat安装目录下的/manager/WEB-INF/web.xml。把以下配置注释掉。
1 | 复制代码<!-- <max-file-size>52428800</max-file-size> --> |
1.2 启动tomcat,浏览器访问localhost:8080/jenkins
出现以下界面,提示你输入密码。密码在红色字表示的文件中。
选择安装推荐的插件。这里需要一些时间。
创建管理员账户。
这样就是安装完成了。
2. Web服务器端安装Maven、git
下载Maven,用来编译工程。下载git用来自动获取git服务器最新代码。
2.1 Maven官网找到下载地址,通过Wget获取
如果你的服务器没安装wget,通过以下命令安装
1 | 复制代码yum -y install wget |
访问Maven官网找到下载地址 maven.apache.org/download.cg…
执行以下命令
1 | 复制代码我们一般下载到这里 |
2.2 设置Maven环境变量,方便随时随地使用mvn命令
编辑/etc/profile,末尾添加以下两行。
1 | 复制代码M2_HOME=/etc/local/apache-maven-3.6.3 |
重载设置
1 | 复制代码source /etc/profile |
验证是否安装成功
1 | 复制代码mvn -v |
2.3 安装git
1 | 复制代码yum install git |
3. 将Web服务器注册到Jenkins节点中
如果你的Jenkins安装到了Web服务器中,可以省略这个步骤,因为Jenkins默认创建了一个叫做master的节点代表Jenkins安装的机器,但是这样的话后面重启tomcat时,由于Jenkins运行在tomcat中,会随tomcat一起被关闭掉从而失去链接。相反,像我这样将Jenkins装到了本地机器,为了能够部署到远程的Web服务器中,你需要本步骤把Web服务器作为节点注册到Jenkins中。如下图,就是已经系统建好的了master,跟我创建的测试节点TestEnv。
节点的创建步骤如下。首先选择Build Executor Status。
点击新建节点。
输入节点名,选择Permanet Agent,点击OK。
接下来填写配置。
- Remote root directory 是你的在web服务器上的工作根目录。我这里用root登录,把工作目录放在/root/jenkins下。
- Launch agent agents via SSH。这个代表用SSH登录。
- Host 填写你的Web服务器地址
- Credentials 填写你的登录账户密码
- Host Key Verification Strategy 选择Known hosts file Verification Strategy
最后点击保存就可以完成节点的创建。
4. Jenkins创建任务
点击 创建新任务 进入项目创建界面
填写任务名,选择自由风格的工程。
这里要选择节点,也就是刚才我们注册的TestEnv节点。
如下图,我使用git,所以需要填写以下内容。
- Repository URL: git的http仓库地址
- Credentials: 登录需要的用户名密码
- Branch Specifer : git的分支
- Check out to s sub-directory: 任意填写一个子目录名用于下载代码
最后,添加要执行的shell命令,并且保存设置。
代码如下。
1 | 复制代码BUILD_ID=DONOTKILLME |
5. 尝试部署
点击Build now,立即构建。这样Jenkins就会自动链接服务器,并从git获取最新代码,然后执行上一步中你添加的shell命令。
构建完成后会有如下的结果。蓝色表示构建成功,红色代表失败,灰色代表中途与节点失去联系。数字表示次数。点击数字。我这里是第12次构建,所以点击了#12。
点击控制台输出。
可以确认结果是成功的。
6. 验证部署应用
访问应用地址,可以看到自动部署成功。
7. 定时部署
上面的步骤基本上就没问题了,但是有一点,我们想要每天都部署最新的代码怎么办?当然每次手动点击部署就太麻烦了。Jenkins为我们提供了定时部署功能。
以上配置,表示在6月13日23点触发。
如果配置成 00 06 * * * ,表示每天早上6点触发。如果不是很熟悉这块,可以百度cron表达式。
官方配置说明
总结
初次配置Jenkins有些繁琐,但并不难。中间如果有什么问题网上都有答案,这里我尽量写的详细一点,希望能够帮助到读者。正所谓一时Jenkins一时爽,一直Jenkins一直爽。尤其是越大的项目,通过灵活的自动化命令,你就越省心省力。
本文转载自: 掘金