本文是Jenkins相关的傻瓜式教程,按照步骤一行一行敲就行,切记!平心静气!你可以的~
声明:本文借鉴了一些前辈的文档(下文有链接),结合自己实际操作进行了如下总结
Jenkins官网地址:https://jenkins.io/zh/doc/pipeline/tour/getting-started/
Jenkins插件下载:http://updates.jenkins-ci.org/download/plugins/credentials/
1.安装maven:
①安装wget命令:
yum -y install wget
②下载maven安装包:
cd /usr/local
mkdir maven
cd maven
wget http://mirrors.cnnic.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz
③解压maven安装包:
tar -zxvf apache-maven-3.5.4-bin.tar.gz
④配置maven:
vi /etc/profile
在配置文件配置:
export MAVEN_HOME=/usr/local/maven/apache-maven-3.5.4
export PATH=$MAVEN_HOME/bin:$PATH
配置文件生效:
source /etc/profile
⑤.查看maven:
mvn -version
2.删除自带jdk:
①查询当前版本:
java -version
②查看jdk的具体信息:
rpm -qa | grep jdk
③卸载相应的jdk:
rpm -e --nodeps java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64
3.安装JDK1.8:
①下载JDK1.8安装包:
cd /usr
mkdir java
cd java
下载个包儿(地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)
②解压安装包:
tar -zxvf jdk1.8.0_144
③配置环境变量:
vi /etc/profile
在配置文件配置:
export JAVA_HOME=/usr/java/jdk1.8.0_144
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
配置文件生效:
source /etc/profile
⑤.查看jdk:
java -version
4.安装docker:
①查看CentOS版本:
lsb_release -a
②在 CentOS 7安装docker要求系统为64位、系统内核版本为 3.10 以上,可以使用以下命令查看:
uname -r
③查看是否已安装docker列表:
yum list installed | grep docker
④安装docker:
cd /usr/local
mkdir docker
cd docker
yum -y install docker
⑤启动docker:
systemctl start docker
⑥查看docker服务状态:
systemctl status docker
⑦设置开机启动:
systemctl enable docker.service
5.安装jenkins:
①下载Jenkins:
https://pan.baidu.com/s/1oFifF8HSOjFrv199_36UyA 提取码: zfyq
②安装Jenkins:
cd /
mkdir Jenkins
cd jenkins
进入jenkins目录解压,解压命令:
rpm -ivh jenkins-2.174-1.1.noarch.rpm
解压成功之后,查看jenkins安装的目录 :
whereis jenkins
cd /usr/lib/jenkins
③启动Jenkins:
sudo service jenkins start
报错:Job for jenkins.service failed because the control process exited with error code
解决:找下jdk安装路径(ps -ef | grep java),然后修改/etc/init.d/jenkins文件 ,配置加一个jdk安装路径:/usr/java/jdk1.8.0_144/bin/java
(默认jenkins端口是8080,vim /etc/sysconfig/jenkins进入配置修改端口)
重启:
service jenkins restart
④访问一下,浏览器访问:http://39.107.117.153:8080
访问jenkins的时候,有个初始化密码,需要你输入,这边查找初始化密码的方法也在下面:
/var/lib/jenkins/secrets/initialAdminPassword
⑤第一次进入Jenkins会让你走几个步骤:
- 输入管理员密码,密码可以从页面提示的文件中看到
- 下载默认插件,点击官方推荐的按钮继续往下走
- 设置账号密码和邮箱地址
- 登入
一顿操作,我们就来到了Jenkins的Dashboard页面
6.安装git:
yum -y install git
7.安装并配置tomcat:
下载tomcat安装包:
tar -zxvf apache-tomcat-8.5.31.tar.gz -C /opt
mv apache-tomcat-8.5.31 tomcat
cd /opt/tomcat/webapps
rm -rf *
将jenkins.war放到webapps中,jenkins安装包去官网自己下载:
cp /usr/lib/jenkins/jenkins.war /home/tomcat8.5/webapps/
启动tomcat服务:
cd /opt/tomcat/bin
./startup.sh
8.Gitlab安装配置及旧git项目的导入:
①官网centos7 gitlab的安装方法:https://about.gitlab.com/install/#centos-7
②gitlab使用方法:https://www.centos.bz/2018/05/gitlab%E6%90%AD%E5%BB%BA%E4%B8%8E%E5%9F%BA%E6%9C%AC%E4%BD%BF%E7%94%A8/
③安装GitLab
④添加GitLab包库:
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
9.关闭selinux和firewalld防火墙:
①永久关闭SELINUX:
vim /etc/selinux/config
改:7SELINUX=enforcing #前面的7,表示文档中第7行。方便你查找
为:7SELINUX=disabled
reboot
②永久关闭firewalld:
# 执行关闭命令: systemctl stop firewalld.service
# 执行开机禁用防火墙自启命令 : systemctl disable firewalld.service
# 再次执行查看防火墙命令:systemctl status firewalld.service
10.配置jenkins服务器到远程服务器的免秘钥登陆:
A为本地主机(即用于控制其他主机的机器,jenkins服务器) ;
B为远程主机(即被控制的机器Server,jenkins运行之后发布项目的服务器), 假如ip为110.0.0.00 ;
(A和B的系统都是Linux)
①在A上的命令:
ssh-keygen -t rsa -P '' # 连续三次回车,即在本地生成了公钥和私钥,不设置密码)
cd ~/.ssh/
cat jenkins.pub
记下密钥:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3xF+uEb2Hm8SkPhbhrWrviOtiavO7ziklqpl0Coa2JznHf2fCB4SK/vlou5wDC08fnfW5D3H+FzEfLXeS/jeIsujcBqtFdhxEK5PXuy2OL93IiJGidkhPMDVGBNVfNw8dcnSeHbhKzq6CzZLX2zwhou/n5gUFdr2PFKVf4wrii8C/ludWm82KmPdxi8u93q4rkMvfOj42zxqfGlKYLBQadr1WkqvsaZJKtJ83KKKnrtmhqrokVWxHlqbvG2waZVxpCgvqbsubNALOiGxM64WuJqrpvYBdHynXVEQvqx1bZSP317aNPq13RiMHnpeCFVzDbwDXllMXysOrol9QJ/dmQbAJ root@aliyun
②把公钥拷贝到对应的hostname机器B(110.0.0.00)上(在B服务器操作):
cd ~/.ssh/
ls
vim authorized_keys #写入下面内容:
ssh-rsa AAAAB3NzaC1yc2EAAAADdAQABAAABAQC3xF+uEb2Hm8SkPhbhrWrviOtiavO7ziklqpl0Coa2JznHf2fCB4SK/vlou5wDC08fnfW5D3H+FzEfLXeS/jeIsujcBqtFdhxEK5PXuy2OL93IiJGidkhPMaDVGBNVfNw8dcnsSeHbhKzq6CzZLX2zwhou/n5gUFdr2PFKVf4wrii8C/ludWm82gKmPxi8u93q4rkMvfdOj42zxqfGlKYLBQar1WkqvsaZJKtdJ83KKKnrtmhqrokVWxHlqbvG2waZVxpCgvqbsubNALOiGxM64WuJqrpvYBHynXVEQvqx1bZSP317afNdPq13RiMHnpeCFVzDbwDXllMXysOrol9QJ/dmQbAJ root@aliyun
③A上登录B测试:
ssh 110.0.0.00 # 需要输入密码:*******
exit
logout
11.jenkins界面操作:
①新手入门安装完插件后,直接在linux机器上重启jenkins服务,而不是勾选空闲时重启:
systemctl restart jenkins
②在linux机器上生成一对秘钥:
cd ~/.ssh/ #如果之前有生成过密钥对,那可以直接用,不需要再生成
ssh-keygen -f ~/.ssh/jenkins #生成密钥对
cat jenkins #查看私钥
③Jenkins插件下载地址:http://updates.jenkins-ci.org/download/plugins/
④配置
(注意:配置项目时【构建】选择Send files or execute commands over SSH,Name选择对应的服务器,Source files填入**/**,表示要发布的代码为全部文件,Remote directory填入/tmp/jenkins_test(自定义一个存放PHP代码的文件夹名),Remove prefix和Exec command可以留空)
至此,剩下的功能就可以自己随便玩儿了,我的界面和打包下来的项目如下,仅供参考:
1.系统配置:
①系统管理-系统配置
②下图为基本配置,可以根据自身实际情况,参考官方文档,进行其他配置:
2.全局工具配置:
①系统管理-全局工具配置
②按下图配上自己的服务器相关路径就行了
(其他的没配置也没关系,具体应用根据自己需要吧)
3.新建任务(创建任务时只做了如下配置,其他的没配置,下面是一个spring boot的java项目配置):
①新建一个项目
②配置git路径(gitlab服务器上要自动化部署打包的项目路径)以及登陆账户、所选分支等
③配置构建环境,下面的name填写目标服务器IP,remote directory填写要打包到的文件夹名称(我没填的可以不填,其中Exec command如果不填报错的话,随便写点儿什么,再删掉就行了)
④配置构建,这个自己领会吧,同上,source files填写**/**代表打包所有文件
⑤配置成功,点击执行
⑥执行成功,查看服务器下文件是否生成,路径是否正确等
由于时间仓促,上述文档可能存在不足之处,欢迎大家指出错误,补充不足,批评指教,鸣谢~