安装配置Jenkins

Jenkins依赖于Java环境,在进行安装前在服务器安装好Java环境

0.安装Java环境

  1. yum install -y java

1. 获取Jenkins

官方源下载过慢,使用清华源下载

mkdir /opt/jenkins
cd /opt/jenkins
wget -O jenkins-latest.rpm https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.190.3-1.1.noarch.rpm 
rpm -ivh jenkins-latest.rpm

2. 启动配置

0.Jenkins配置文件

#jenkins主配置文件
cat /etc/sysconfig/jenkins
JENKINS_HOME="/var/lib/jenkins"
JENKINS_JAVA_CMD=""
JENKINS_USER="jenkins"
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true"
JENKINS_PORT="8080"
JENKINS_LISTEN_ADDRESS=""
JENKINS_HTTPS_PORT=""
JENKINS_HTTPS_KEYSTORE=""
JENKINS_HTTPS_KEYSTORE_PASSWORD=""
JENKINS_HTTPS_LISTEN_ADDRESS=""
JENKINS_HTTP2_PORT=""
JENKINS_HTTP2_LISTEN_ADDRESS=""
JENKINS_DEBUG_LEVEL="5"
JENKINS_ENABLE_ACCESS_LOG="no"
JENKINS_HANDLER_MAX="100"
JENKINS_HANDLER_IDLE="20"
JENKINS_EXTRA_LIB_FOLDER=""
JENKINS_ARGS=""

1. 设置防火墙

Jenkins默认监听地址是8080,如果开启了防火墙,需要去将8080端口加入访问许可

# 添加防火墙8080端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
# 重载生效
firewall-cmd --reload

2. 启动

systemctl start jenkins

# 加入开机自启
systemctl enable jenkins

3. 访问

从{ IP:8080 }访问Jenkins网络页面

首次进入会要求输入密码,密码已经存在本地

# 获取密码
cat /var/lib/jenkins/secrets/initialAdminPassword

将密码粘贴过来输入即可进入配置

会进行一段时间的初始化,如果时间过长,检查机器内存空余是否充足

4. 安装插件

由于国内的网络环境,不推荐在此安装插件,后续插件的安装可以进入后再自行按需安装

5. 创建管理员

安装完插件后会提示创建第一个管理员用户,如果不想创建,右下角可以点击“使用admin账户继续”
账户的登录名是:admin ,密码是/var/lib/jenkins/secrets/initialAdminPassword中存储的值,进入后可以修改

6. 配置实例地址

默认本地IP:8080端口访问,如果需要配置域名服务,可以自行配置,然后点击保存

7. 开始使用

此时点击开始使用可能会遇到白屏的情况,进入服务器重启服务即可解决

8.安装插件

Jenkins的功能由众多的插件提供,所以在此推荐一些常用插件,推荐在这个网站下载 http://updates.jenkins-ci.org/download/plugins/
推荐插件:

apache-httpcomponents-client-4-api.hpi
credentials.hpi
display-url-api.hpi
git-client.hpi
git.hpi
jsch.hpi
mailer.hpi
scm-api.hpi
script-security.hpi
ssh-credentials.hpi
structs.hpi
workflow-scm-step.hpi
workflow-step-api.hpi

第一个Jenkins项目

1. 创建

输入项目名称,选择对应的项目模板
image.png

在后续的创建中,新建项目如果只需要对另一个项目进行少量改动,可以在创建页面底端,从另一个项目克隆,输入想要克隆的项目关键词即可选择

2. 配置

General
  • 丢弃旧的构建

设置构建的保留天数

  • 参数化构建过程

image.png
image.png

源码管理
  • Git

设置项目地址
image.png
添加私钥
image.png

构建触发器

Build when a change is pushed to GitLab

如果需要使用这个选项,需要打开高级选项,然后见级Generate生成Secret token ,将Secret token填到Gitlab集成Webhook
image.png

image.png

构建

构建就是选择在构建时进行的操作,如何去构建项目
image.png

构建后操作

在这里选择构建完成后需要Jenkins进行的操作

3. 开始构建

  1. 立即构建
  2. Build with Parameters

在项目主页点击立即构建会根据设置的构建步骤开始构建

集成其他工具

1. Sonarqube

先在插件库搜索安装”SonarQube Scanner”

然后在系统设置中配置Sonarqube 服务器

初次使用添加一个新的服务器认证token

服务端配置完成后需要下载sonarqube scanner工具,解压到Jenkins机器中,本机解压在/usr/local/下

然后在系统设置==>全局工具设置中添加Sonarqube Scanner 的安装位置

最终推送命令为

/usr/local/sonar-scanner/bin/sonar-scanner -Dsonar.projectKey=HTML -Dsonar.sources=. -Dsonar.host.url="访问sonarqube地址" -Dsonar.login="生成的token"

2. maven

Jenkins插件库搜索安装”maven plugin”

Jenkins机器中安装maven

# 使用yum安装maven
yum install -y maven
# 使用压缩包的方式安装maven
tar xf  apache-maven-3.6.3-bin.tar.gz -C /usr/local/ && ln -s /usr/local/apache-maven-3.6.3 /usr/local/maven

在系统设置==>全局工具设置中添加maven,使用yum安装的maven的MAVEN_HOME在/usr/share/maven,压缩包方式安装则是/usr/local/maven

maven默认带的仓库是maven中央仓库,国内的网络情况使用过于感人,所以修改为阿里云maven仓库,附赠一份设置文件,复制替换/etc/maven/setting.xml即可

<?xml version="1.0" encoding="UTF-8" ?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

    <!--自定义本地仓库路径-->
    <localRepository>/root/.m2/repository</localRepository>

    <pluginGroups>
    </pluginGroups>

    <proxies>
    </proxies>

    <servers>

    </servers>

    <mirrors>
        <mirror>
            <id>alimaven-central</id>
            <mirrorOf>central</mirrorOf>
            <name>aliyun maven</name>
            <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
        </mirror>
        <mirror>
            <id>jboss-public-repository-group</id>
            <mirrorOf>central</mirrorOf>
            <name>JBoss Public Repository Group</name>
            <url>http://repository.jboss.org/nexus/content/groups/public</url>
        </mirror>

    </mirrors>

    <profiles>
        <profile>
            <id>jdk18</id>
            <activation>
                <jdk>1.8</jdk>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <maven.compiler.source>1.8</maven.compiler.source>
                <maven.compiler.target>1.8</maven.compiler.target>
                <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
            </properties>
        </profile>

    </profiles>

</settings>

添加从节点分布式构建(最后构建)

1. 从节点安装服务

将Jenkins主服务器已经配置好的服务拷贝到从节点

scp -r /usr/local/sonar-scanner 10.0.0.203:/usr/local/
# 如果是使用yum安装的maven则将maven配置文件拷贝过去即可
scp -r /usr/local/maven 10.0.0.203:/usr/local/

将部署服务使用的脚本拷贝到从节点

scp -r /scripts/ 10.0.0.203:/

将主节点的公钥发送到从节点

ssh-copy-id -i /root/.ssh/id_rsa.pub 10.0.0.203

2. Jenkins配置从节点

持续集成(2)--Jenkins服务安装配置 - 图9