持续集成Jenkins大法好

1. 虚拟机安装

  • 下载ISO文件
  • 安装Vmware
  • 安装虚拟机(Ubuntu/CentOS)
  • 开启虚拟机并进行换阿里源等基础配置

2. jenkins 安装

2.1 主要配置

# 配置ci用户组,创建jenkins用户,并且指定ci组
$ groupadd ci
$ useradd jenkins -g ci

# 创建存放jenkins工具的目录,并指定权限,因jenkins后期构建比较占用磁盘,此处建议先挂载磁盘
$ mkdir -p /data/software
$ chown -R jenkins:ci /data/software

# 切换jenkins用户,进入到software目录,并下载jenkins.war
$ su jenkins
$ cd /data/software/
# 如果下载较慢,建议采用迅雷下载,然后上传
$ wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war

用户命令拓展

# 给已存在的用户jenkins指定组ci
usermod -G ci jenkins
passwd jenkins

# 删除用户和组
userdel www
groupdel www 

2.2 安装Java环境

  • 下载jdk,上传至linux并解压
  • 配置/etc/profile或.bashrc的内容
yuyang@ubuntu:~$ vi .bashrc 
#java环境变量配置
export JAVA_HOME=/usr/java/jdk1.8.0_251
export JRE_HOME=/usr/java/jdk1.8.0_251/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

Android Studio 环境配置参考(如不需要可不配置)

# 配置 Android 环境变量
# ADB路径
ADB=/home/yuyang/Android/Sdk/platform-tools
export ADB
# ANDROID_NDK和ANDROID_SDK 路径
ANDROID_NDK=/home/yuyang/android-studio/Sdk/android-ndk-r14b
export ANDROID_NDK
ANDROID_SDK=/home/yuyang/Android/Sdk
export ANDROID_SDK 
# 加入到PATH路径
PATH=${PATH}:${ADB}:${ANDROID_NDK}:${ANDROID_SDK}
  • 使配置生效
yuyang@ubuntu:~$ source .bashrc 
  • 检测java环境信息
yuyang@ubuntu:~$ java -version
java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)

2.3 启动jenkins

# 使用nohup命令启动
$ nohup java -jar /data/software/jenkins.war  --httpPort=8777 --httpsPort=8778 > /data/software/jenkins.log 2>&1 &

2.4 开放8777端口供外网访问

# 开启防火墙8777端口
$ firewall-cmd --zone=public --add-port=8777/tcp --permanent

# 使配置生效
$ firewall-cmd --reload

# 防火墙扩展命令如下(云服务直接操作阿里云安全组即可)1)设置开机启用防火墙:systemctl enable firewalld.service
(2)设置开机禁用防火墙:systemctl disable firewalld.service
(3)启动防火墙:systemctl start firewalld
(4)关闭防火墙:systemctl stop firewalld
(5)检查防火墙状态:systemctl status firewalld 

(1)查看防火墙状态:firewall-cmd --state
(2)重新加载配置:firewall-cmd --reload3)查看开放的端口:firewall-cmd --list-ports
(4)开启防火墙端口:firewall-cmd --zone=public --add-port=9200/tcp --permanent
  命令含义:
  –zone #作用域
  –add-port=9200/tcp #添加端口,格式为:端口/通讯协议
  –permanent #永久生效,没有此参数重启后失效
  注意:添加端口后,必须用命令firewall-cmd --reload重新加载一遍才会生效
(5)关闭防火墙端口:firewall-cmd --zone=public --remove-port=9200/tcp --permanent

2.5 外网或宿主机访问浏览器地址

  • 查看本机ip
yuyang@ubuntu:~$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.195  netmask 255.255.255.0  broadcast 192.168.1.255
  • 浏览器访问ip

-
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2.6 忘记密码

  • 进入到jenkins的工作目录,找到config.xml,我这里是/home/jenkins/.jenkins/config.xml
  • 修改该配置文件useSecurity的节点值为false
<useSecurity>true</useSecurity>
  • 重启jenkins项目后,再次访问jenkins站点
  • 进入系统管理

在这里插入图片描述

  • 找到全局安全配置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 进入到用户列表,找到admin用户
    -
    在这里插入图片描述
    在这里插入图片描述

3. 常用插件安装

3.1 换源

jenkins的所有插件安装后需要重启才能生效,由于Jenkins国外官方插件地址下载速度非常慢,所以可以修改为国内插件地址(清华大学源):
2个步骤

  • 1、进入 Manage Jenkins -》 Manage Plugin -> Advanced最下面有 Update Site设置为:
    https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
    在这里插入图片描述
    在这里插入图片描述

  • 2、修改服务器配置,进入jenkins安装目录 ,找到 /updates/default.json文件 (我这里是/home/jenkins/.jenkins/updates/default.json),将其中的updates.jenkins-ci.org/download替换为mirrors.tuna.tsinghua.edu.cn/jenkins,然后把www.google.com修改为www.baidu.com

  • 3、进入到default.json所在目录

yuyang@ubuntu:~$ cd /home/yuyang/.jenkins/updates/

在这里插入图片描述

# 修改之前建议做下备份,养成备份好习惯,大家在公屏上输入 备份大法好
$ sed -i 's/http:\/\/updates.jenkinsci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json 

替换后使用http://192.168.1.195:8777/restart重启jenkins,或查进程重启

yuyang@ubuntu:~$ ps -ef | grep jenkins
yuyang     6409   4175  7 20:16 pts/1    00:02:24 java -jar /data/software/jenkins.war --httpPort=8777 --httpsPort=8778
yuyang    16281  16197  0 20:48 pts/0    00:00:00 grep --color=auto jenkins
(base) yuyang@ubuntu:~$ kill -9 6409

3.2 安装插件换皮肤

-1、simple theme好看的主题插件
有了好的主题,写代码都变得神清气爽。首先安装插件simple theme,安装主题并重新启动Jenkins。转到ManageJenkins–> Manage Plugins。单击available选项卡并搜索simple theme插件。
在这里插入图片描述
在这里插入图片描述
使用在线CSS样式

将打开后的内容,拷贝至主题配置中。系统配置 -> Theme,转到Manage Jenkins–> Configure并搜索Theme配置,然后点击新增:
在这里插入图片描述

  • CSS URL:在CSS字段中输入以下URL并保存,可以查看到效果(如果断网样式会失效)
http://afonsof.com/jenkins-material-theme/dist/material-teal.css

在这里插入图片描述
使用离线CSS样式

  • Extra CSS:在文本框内贴上CSS样式,在浏览器中打开上述样式的链接,并复制内容到文本框内一样能看到效果,而这种方式更加推荐,适用于没有网络的环境。

在这里插入图片描述
在这里插入图片描述

3.3 安装Allure插件

在这里插入图片描述
在这里插入图片描述

其他插件介绍:
1、Git Parameter Plug-In, 安装后可以选择按照 git tag或者 branch发布版本。
2、NodeJS Plugin安装后可以执行npm指令,打包和发布前端代码。
3、SonarQube Scanner for Jenkins安装后可以执行 sonar scanner指令,跑 CI 时检查代码质量。
4、Maven Integration plugin设置maven指令的 classpath 和指令路径。
5、Workspace Cleanup Plugin可以指定 workspace最多保留多少个历史任务。
6、Credentials Binding用户凭证插件安装

4. 基础配置

4.1 jenkins配置JDK路径

Jenkins->系统管理->全局工具配置->JDK->新增JDK
JAVA_HOME的路径与/etc/profile或 .bashrc中的配置一致
在这里插入图片描述

4.2 Jenkins配置凭证

凭据就是用来存储需要密文保护的数据库密码、Gitlab密码信息、Docker私有仓库密码等,以便 Jenkins可以和这些第三方的应用进行交互。

  • 1、凭证插件安装Credentials Binding
    在这里插入图片描述
    该插件默认在一开始就会被安装,安装后在jenkins->系统管理->安全栏目会出现Manage Credentials选项,若没有需要安装插件并重启。
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

  • 2、凭证类型

    • Username with password常用:用户名和密码
    • GitHub APP新加入
    • SSH Username with private key常用: 使用SSH用户和密钥
    • Secret file:需要保密的文本文件,使用时Jenkins会将文件复制到一个临时目录中,再将文件路径 设置到一个变量中,等构建结束后,所复制的Secret file就会被删除。
    • Secret text:需要保存的一个加密的文本串,如钉钉机器人或Github的api token
    • Certificate:通过上传证书文件的方式
      接下来以使用Git工具到Gitlab拉取项目源码为例,演示Jenkins的如何管理Gitlab的凭证。
  • Username with password类型

  • SSH Username with private key

4.3 Jenkins集成Git

为了jenkins能够拉取代码,需要安装Git环境和jenkins对应的Git插件

  • 1、CentOS 7上安装Git环境
# 安装
$ yum install git -y
# 查看版本
$ git --version
  • 2、 jenkins安装Git插件
    在这里插入图片描述

  • 3、jenkins配置Git环境
    此处无需在jenkins中配置Git环境,采用默认生成的即可
    在这里插入图片描述

  • 4、Gitee码云对接
    Jenkins->系统管理->系统->全局凭证->添加凭证
    在这里插入图片描述
    在这里插入图片描述

  • Gitee上任意建一个仓库
    在这里插入图片描述
    在这里插入图片描述

  • 测试凭据是否能够使用
    jenkins->新建任务->自由风格项目
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    到此用户名密码方式的凭证已经打通Git

4.4 Jenkins 集成Maven

在jenkins上发布Java项目时需要使用Maven来进行构建打包(Gradle项目则需要安装配置Gradle)

  • 1、下载安装
# 切换到root用户
$ su root
Password:

# 找一个目录存放maven,此处和java jdk放置在同一个文件夹下,方便管理
$ cd /usr/java/

# 从阿里云上下载maven安装包
$ wget https://mirrors.aliyun.com/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz

# 解压
$ tar -zxvf apache-maven-3.6.3-bin.tar.gz

# 当前maven的安装目录为:/usr/java/apache-maven-3.6.3

  • 2、环境配置
    vi .bashrc
#配置Maven环境变量
export MAVEN_HOME=/usr/java/apache-maven-3.6.3
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$MAVEN_HOME/bin:$PATH
  • 3、使配置生效并查看安装情况
yuyang@ubuntu:~$ source .bashrc 
yuyang@ubuntu:~$ mvn -version

在这里插入图片描述

  • 4、jenkins配置Maven

在这里插入图片描述

5.Jenkins 构建项目

5.1 本地项目构建

ubuntu(虚拟机)本地脚本路径//home/yuyang/Downloads/jenkinstest.py

from selenium import webdriver
print("我是Jenkins本地构建项目!")
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.quit()
print("百度浏览器已经打开~")
  • 1、创造一个自由风格的项目
  • 2、设置构建类别
    由于是在linux下构建,所以选择执行shell,windos操作同理
    在这里插入图片描述
  • 3、设置执行shell
    在这里插入图片描述
  • 4、执行构建
    保存后在jenkins本地test工程里点击立即构建
    在这里插入图片描述
  • 5、查看控制台输出是否正确
    查看控制台输出
    在这里插入图片描述
    在这里插入图片描述
    到此本地项目运行成功。

5.2 远端项目构建

  • 1、基于4.3中的码云仓库工程,添加一个jenkins_test.py文件
print("Hellow Jenkins!")
print("我是Gitee项目!")

在这里插入图片描述

  • 2、设置构建类别、执行shell、构建、控制台输出
    -

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值