转载

使用Jenkins自动化部署,节省你的时间

我们在开发过程中经常需要修改本地代码,并提交到git或svn。要运行程序则需要将svn或git上的代码编译并部署到web服务器。这个部署如果是手动的则每次都需要执行编译命令,再手动把war文件之类拷贝到服务器,最后重启tomcat,次数多了就会显得很繁琐。Jenkins就是为了解决自动化部署而生。

1. 下载安装Jenkins

jenkins下载地址: jenkins.io/

安装前提是你已经装好了java跟tomcat。

1.1 点击download后最后有个war文件下载。点击下载到本地。

使用Jenkins自动化部署,节省你的时间

然后放到tomcat的webapps目录下,注意文件超过了50M,需要修改Tomcat安装目录下的/manager/WEB-INF/web.xml。把以下配置注释掉。

<!-- <max-file-size>52428800</max-file-size> -->
复制代码

1.2 启动tomcat,浏览器访问localhost:8080/jenkins

出现以下界面,提示你输入密码。密码在红色字表示的文件中。

使用Jenkins自动化部署,节省你的时间

选择安装推荐的插件。这里需要一些时间。

使用Jenkins自动化部署,节省你的时间

创建管理员账户。

使用Jenkins自动化部署,节省你的时间

这样就是安装完成了。

使用Jenkins自动化部署,节省你的时间

2. Web服务器端安装Maven、git

下载Maven,用来编译工程。下载git用来自动获取git服务器最新代码。

2.1 Maven官网找到下载地址,通过Wget获取

Maven官网 maven.apache.org/download.cg…

cd /usr/local/
下载
wget http://us.mirrors.quenda.co/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
解压缩
tar xvzf apache-maven-3.6.3-bin.tar.gz
复制代码

2.2 设置Maven环境变量

编辑/etc/profile,末尾添加以下两行。

M2_HOME=/etc/local/apache-maven-3.6.3
export PATH=${M2_HOME}/bin:${PATH}
复制代码

重载设置

source /etc/profile
复制代码

验证是否安装成功

mvn -v
复制代码

2.3 安装git

yum install git
复制代码

3. 将Web服务器注册到Jenkins节点中

如果你的Jenkins安装到了Web服务器中,可以省略这个步骤,因为Jenkins默认创建了一个叫做master的节点代表Jenkins安装的机器。相反,如果Jenkins装到了本地机器,为了能够部署到远程的Web服务器中,你需要本步骤把Web服务器作为节点注册到Jenkins中。如下图,就是已经系统建好的了master,跟我创建的测试节点TestEnv。

使用Jenkins自动化部署,节省你的时间

节点的创建步骤如下。首先选择Build Executor Status。

使用Jenkins自动化部署,节省你的时间

点击新建节点。

使用Jenkins自动化部署,节省你的时间

输入节点名,选择Permanet Agent,点击OK。

使用Jenkins自动化部署,节省你的时间

接下来填写配置。

  • 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

最后点击保存就可以完成节点的创建。

使用Jenkins自动化部署,节省你的时间

4. Jenkins创建任务

点击 创建新任务 进入项目创建界面

使用Jenkins自动化部署,节省你的时间

填写任务名,选择自由风格的工程。

使用Jenkins自动化部署,节省你的时间

这里要选择节点,也就是刚才我们注册的TestEnv节点。

使用Jenkins自动化部署,节省你的时间

如下图,我使用git,所以需要填写以下内容。

  • Repository URL, git的http仓库地址
  • Credentials, 登录需要的用户名密码
  • Branch Specifer , git的分支
  • Check out to s sub-directory, 任意填写一个子目录名用于下载代码
使用Jenkins自动化部署,节省你的时间

最后,添加要执行的shell,并且保存设置。

使用Jenkins自动化部署,节省你的时间

代码如下。

BUILD_ID=DONOTKILLME

. /etc/profile

export PROJ_PATH=`pwd`
export TOMCAT_APP_PATH=/usr/local/apache-tomcat-9.0.30

#编译代码
cd $PROJ_PATH/siled
mvn clean install

#删除原有的war文件
rm -rf $TOMCAT_APP_PATH/webapps/*.war

#关闭tomcat
$TOMCAT_APP_PATH/bin/shutdown.sh

#拷贝新的war
cp $PROJ_PATH/siled/target/*.war $TOMCAT_APP_PATH/webapps/

#重启tomcat
$TOMCAT_APP_PATH/bin/startup.sh
复制代码

构建完成后会有如下的结果。蓝色表示构建成功。数字表示次数。点击数字

原文  https://juejin.im/post/5df8c292f265da33b47c859d
正文到此结束
Loading...