本文是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.系统配置:

①系统管理-系统配置

brew 安装 jenkins 版本 jenkins安装教程_brew 安装 jenkins 版本

②下图为基本配置,可以根据自身实际情况,参考官方文档,进行其他配置:

brew 安装 jenkins 版本 jenkins安装教程_tomcat_02

brew 安装 jenkins 版本 jenkins安装教程_brew 安装 jenkins 版本_03

 

2.全局工具配置:

①系统管理-全局工具配置

brew 安装 jenkins 版本 jenkins安装教程_linux_04

②按下图配上自己的服务器相关路径就行了

brew 安装 jenkins 版本 jenkins安装教程_brew 安装 jenkins 版本_05

brew 安装 jenkins 版本 jenkins安装教程_java_06

(其他的没配置也没关系,具体应用根据自己需要吧)

 

3.新建任务(创建任务时只做了如下配置,其他的没配置,下面是一个spring boot的java项目配置):

①新建一个项目

brew 安装 jenkins 版本 jenkins安装教程_linux_07

②配置git路径(gitlab服务器上要自动化部署打包的项目路径)以及登陆账户、所选分支等

brew 安装 jenkins 版本 jenkins安装教程_tomcat_08

③配置构建环境,下面的name填写目标服务器IP,remote directory填写要打包到的文件夹名称(我没填的可以不填,其中Exec command如果不填报错的话,随便写点儿什么,再删掉就行了)

brew 安装 jenkins 版本 jenkins安装教程_linux_09

④配置构建,这个自己领会吧,同上,source files填写**/**代表打包所有文件

brew 安装 jenkins 版本 jenkins安装教程_linux_10

⑤配置成功,点击执行

brew 安装 jenkins 版本 jenkins安装教程_tomcat_11

⑥执行成功,查看服务器下文件是否生成,路径是否正确等

brew 安装 jenkins 版本 jenkins安装教程_jenkens_12


 

 


由于时间仓促,上述文档可能存在不足之处,欢迎大家指出错误,补充不足,批评指教,鸣谢~