🎖前言
以前,我们部署程序的步骤:发更新通告,远程登录到服务器,暂停程序,备份程序,删除旧的程序包,上传新的程序包到程序目录,重启服务。发通告。
但是,随着互联网程序的普及,虽然我也不知道什么是互联网程序。
我们追求程序的快速迭代,无感知更新。之前重复的步骤会成为噩梦,而且人工操作难免会出错,我之前就干过意见蠢事,本地打测试环境的包,然后扔到线上了,都是眼泪啊。
所以,是时候来一套自动化部署工具,来方便我们的程序生活了。
本笔记,默认你已经安装好了需要的环境,如果没有,请移步http://www.jianshu.com/p/218d008f0fda
服务器环境
java version "1.8.0_131"
Apache Maven 3.3.9
git version 1.8.3.1
Jenkins ver. 2.73
✔️Jenkins初见
这个笔记的重点就是这个货:Jenkins
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
安装必要的插件
Publish Over SSH
Email Extension Plugin
。。。
✔️开始配置
🎯假定你安装了必要的插件,在开始新建一个Job之前,需要进行一些基础的配置:
- 打开Jenkins,系统管理->Global Tool Configuration中进行基础的配置,其中包括JDK、Maven、Git,根据你服务器实际安装目录设置这几个必要的插件。
- 当然如果你的系统对权限要求比较高,还需要进行权限方面的配置,这里不多做介绍,因为。。。。我不会。
🎯完成基础的配置,下一步,我们就要新建一个Job了,这个Job就是我们要自动构建的一个单元。
点击“OK”按钮,就会进入到详细设置的界面。
这里最好勾选和设置一下“丢弃旧的构建”,因为Jenkins每次构建默认都会保存,如果你构建比较频繁,而且服务器的硬盘空间比较小的话,可能会造成空间不足。
因为我们的源代码是通过git管理的,所以接下来需要设置git。
sudo su - jenkins
# 如果是通过yum安装的Jenkins,可能默认Jenkins用户没有shell,所以需要以下命令
sudo usermod -s /bin/bash jenkins
或者
sudo su -s /bin/bash jenkins
再次切换root用户到jenkins用户后,发现类似bash-4.2$,可以把/etc/skel/目录下的文件复制到jenkins用户的家目录,就是/etc/passwd文件中配置的路径
cp -r /etc/skel/. /var/lib/jenkins
ssh-keygen -t rsa // 一路回车,生成 ssh key, 复制 xxx.pub 公钥到 git 服务器上即可.
未完待续。。。