1.下载安装包
wget https://pkg.jenkins.io/redhat/jenkins-2.252-1.1.noarch.rpm
2.安装
rpm -ivh jenkins-2.252-1.1.noarch.rpm
3.修改监听端口(如果是服务器,记得去开放这个端口)
vim /etc/sysconfig/jenkins
为了不因为权限出现各种问题,这里直接使用root
修改用户为root
vim /etc/sysconfig/jenkins
chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins
6.配置jdk路径(Jenkins默认jdk路径为/usr/bin/java)
查看jdk安装路径 echo $JAVA_HOME
vim /etc/rc.d/init.d/jenkins,将jdk路径添加到下面(注意:后面要加/bin/java)
7.启动jenkins
service jenkins start
如果有警告:Starting jenkins (via systemctl): Warning: jenkins.service changed on disk. Run 'systemctl daemon-reload' to reload units.
执行一下systemctl daemon-reload就OK了
8.访问(路径为p+端口)
查看登录密码:cat /var/lib/jenkins/secrets/initialAdminPassword
========================至此,jenkins安装完毕,下面集成github实现自动化部署=======================================
1.在Github上获取访问token的值,需要一个对项目有写权限的账户
如果要实现自动构建的话,Jenkins需要获得远程代码仓库Github的读取权。
点击右上角的 Github --> setting --> Developer settting --> Personal access tokens -> 点击Generate new token 填写如下所示的内容:
创建成功后,会生成一个token的值如下:
2.Github webhooks设置
进入Github上指定的项目 --> setting -> WebHooks --> add webhook, 如下图所示:
3.jenkins安装Github Plugin插件
可选插件搜索github(别选错了)
4.配置github
Manage Jenkins -> Configure System -> Github -> 点击添加Github服务器, 如下图所示:
API URL 默认为:https://api.github.com,我们不动它,然后凭据点击 Add添加,如下图所示:
如上,我们之前已经生成了token之后。在如上配置中,我们页面中的类型选择 Secret text,在Secret中黏贴Github生成的Token,id和描述可以随便写,或不填。
最后点击添加按钮后,会回到主页面,在凭据中选择我们刚才创建的凭据,然后我们点击 "链接测试"。如果没有成功的话,则需要返回重新操作以上步骤,如下所示,我们只要点击保存完成配置即可,如下图所示:
到这里,github基础配置已经完成了。
5.Jenkins中创建任务
1) 点击创建一个新任务,如下图所示:
输入一个任务名称,比如叫 testJekins, 然后选择第一项即可。如下图所示:
因此准备工作已经完成了,我们输入任务名称后,选择第一项后,点击底部的确定按钮,就可以进入下一步的页面了,如下图所示:
如上选择Github,填写项目的URL,该地址是我们Github上的主页地址,不是github资源地址。
2)源码管理配置
打开刚刚我们创建的任务,切换到 "源码管理" tab项,然后在左侧选择 Git,然后我们把我们的github项目中的仓库地址,添加配置登录名和密码(点击添加会弹出一个框,我们默认操作就行),及分支。如下图所示:
3)构建触发器
4)构建环境,构建后执行的shell脚本,通过为项目打包+部署的shell命令
此时,你点击“构建”,则会将github中的代码拉到jenkins,默认目录在jenkins安装目录的workapace下面
要想实现项目打包+部署,就要根据自己的项目,编写相应的脚本了
如果是springboot项目可以参考我的脚本
#jenkins的工作目录为/var/lib/jenkins/workspace #首先进入要打包的项目文件夹 cd /var/lib/jenkins/workspace/项目名 #编译之前先clean,再跳过单元测试 mvn clean package -Dmaven.test.skip=true echo '项目打包完成' #停止正在运行的镜像 docker stop 项目名 #删除镜像 docker rm 项目名 #删除容器 docker rmi 项目名 #重新构建 cd target docker build -t 项目名 -f ../DockerImgBuild/Dockerfile.dev . #启动 docker run -d --restart=always --name 项目名 -p 8001:8001 项目名 echo '项目启动成功'
注:在项目的src同级目录建一个DockerImgBuild,在里面创建一个文件叫做Dockerfile.dev,用来构建docker镜像
FROM java:8 MAINTAINER 作者名 ADD 项目名-0.0.1-SNAPSHOT.jar 项目名.jar EXPOSE 8001 ENTRYPOINT ["java","-jar","项目名.jar"]