官方下载地址:https://jenkins.io/download/ ,下载war包,并上传到服务器(案例中是把war包放在了 /usr/local/jenkins 里面)
运行环境:ubuntu(2核4GB) + jdk8
Java安装方式:
http://blog.csdn.net/xiangwanpeng/article/details/54561374 (转载 jdk安装参考 )
运行jenkins时建议使用root 用户
#切换为root用户
sudo -i
#创建jenkins 文件夹并进入到jenkins文件夹中
mkdir /usr/local/jenkins
cd /usr/local/jenkins
#此处需要把 jenkins 复制到 jenkins 目录下
cp /home/ubuntu/jenkins.wat .
#后台运行jenkins
nohup java -jar jenkins.war>jenkins.log &
#查看启动情况
tail -f jenkins.log
jenkins 启动成功,通过浏览器访问 服务器IP:8080(jenkins默认使用8080端口,需要服务器开放此端口),即可跳转到如下界面:
输入密码,这个密码是一图中第二处划红线的的内容,也可以在 /root/.jenkins/secrets 目录下的initialAdminPassword获取,可以使用
cat /root/.jenkins/secrets/initialAdminPassword
获得,输入密码后,点击右下角的Continue 按钮,jenkins开始安装,短暂时间后,会弹出如下界面,选择安装的插件
一般推荐大家使用官方推荐默认安装的插件,确定后,进入插件下载安装页面,等待下载安装…
这个会稍微花费点时间…
插件安装完毕后,跳转到(有些时候会跳到一个404页面,重新访问 ip:8080 即可)
输入用户密码,登录进入如下页面
至此,jenkins服务安装启动完毕!
jenkins拥有各种各样的插件,我们可以在插件管理里面下载安装自己所需要的插件
这里推荐几个必要的插件 Maven ,可以在插件管理-可选插件中搜索 Pipeline Maven Integration 或者 Maven Integration plugin (如果未安装次插件,新建job 时没有 maven 项目选项)
Publish Over SSH (支持配置 Publish over SSH)
配置工具环境 ,例如 JDK 、Maven、Git 、Gradle等编译工具,建议这些工具最好自己安装配置,不要使用Jenkins 的自动安装,一是jenkins下载是从国外网站下载,另外是版本问题,建议自己手动安装,配置如下:
apt-get install git
安装后完毕后,使用 git –version 即可显示git 版本,通过
whereis git
Maven官方下载地址:http://maven.apache.org/download.cgi
我这里是下载的 apache-maven-3.5.2-bin.tar.gz (ps:个人习惯将自己安装的软件放在 /usr/local 目录下)
Maven也需要JDK环境…参考
#将 apache-maven-3.5.2-bin.tar.gz copy 到此目录
mkdir /usr/local/maven
#解压文件到当前目录
tar -xzf apache-maven-3.5.2-bin.tar.gz .
#修改 conf文件夹下的setting.xml
cd /usr/local/maven/apache-maven-3.5.2/conf
修改setting.xml 中的 localRepository 路径,此地址是下载jar文件的存储路径,路径可以自定义
<localRepository>/path/to/local/repolocalRepository>
配置阿里云远程仓库(官方太慢…),在setting.xml 中的
节点中增加(并把setting.xml copy 到 /root/.m2 (用户根路径)文件夹下):
<mirror>
<id>nexus-aliyunid>
<mirrorOf>*mirrorOf>
<name>Nexus aliyunname>
<url>http://maven.aliyun.com/nexus/content/groups/publicurl>
mirror>
配置环境变量:
vim /ect/profile
# Maven配置
export M2_HOME=/usr/local/maven/apache-maven-3.5.2
export PATH=$M2_HOME/bin:$PATH
source /ect/profile
mvn -v
全局工具配置结束
此处只讲配置GitHub Servers,主要用于通过Webhooks 自动构建发布项目。
在系统配置页面找到GitHub Servers,如下图:
勾上 Specify another hook URL for GitHub configuration ,它会默认生成一个地址,ip 是内网ip, 我这里是使用自己的github, 所以把ip 改成外网ip了,端口建议和jenkins端口保持一致。
登录个人githup网站,选择一个项目,在Settings中的webhooks中点击 Add Webhook (我这里的页面是已经配置了一个…)
具体如下图:
这里我们配置Payload URL,即GitHub Servers中生成的地址。然后选择触发事件,案例中是选择了push事件,即没当github收到新的push都会告知jenkins. 然后点击保存即可。(ps:保存后页面上可能有红色叹号,只要地址正确即可,可忽略,触发一次后即显示正常。)
(ps:基础配置到此完毕...)
我们这里用SpringBoot 项目作为案例
选择新建Job >> maven 项目(ps:如果没有mavn 项目选择,请参考插件配置)
进入项目配置页面
我这里使用了自己的github(https://github.com/)上面的项目,只需要将github 项目上的https地址复制过来即可(gitlab 同理),然后配置源码管理:
点击Credentials Add 按钮,配置git 用户密码(ps:github公开项目pull 的时候不需要配置用户名密码,也可以配置ssh方式。)Branches to buildke可以配置要编译的分支
构建触发器,即项目按照什么规则去build,这里是通过配置webhook 的push 事件触发(哪些事件会触发build 是有github上的配置决定的)
配置mvn命令,shell脚本(ps:脚本写的比较烂) jenkins 使用脚本启动以后,构建完毕后会杀死当前进程,可以在脚本上加BUILD_ID=DONTKILLME 来避免,value可以任意…
然后点击保存,修改代码push到github,稍微等待以后即可看到
点击进度条,进入编译详情页面,查看日志,此时已经从github拉取代码:
最终编译成功:
然后访问自己的应用~
ps: 有不足之处还请多多指教,如有交流可QQ联系: 1050215723
后面准备写一写:jenkins和部署主机之间的免密登录和远程脚本调用,以及和Docker的结合… 实现CI/CD