Jenkins是一个独立的开源软件项目,是基于Java开发的一种CI(Continuous integration,持续集成) &CD (Continuous Delivery,持续交付)工具,用于监控持续重复的工作,旨在提供一个开放易用的软件 平台,使软件的持续集成变成可能。其前身是商业软件Hudson。可用于自动化各种任务,如构建,测 试和部署软件。 Jenkins 作为一个可扩展的自动化服务器,Jenkins 可以用作简单的 CI 服务器,或者变成任何项目的持续 交付中心。 Jenkins 只是一个调度平台,其本身并不能完成项目的构建部署 Jenkins 需要安装各种插件,可能还需要编写Shell,python脚本等才能调用和集成众多的组件来实现复杂的 构建部署功能
建议同时执行任务数量和CPU核心数一致
Jenkins支持多种部署和运行方式,可通过系统包、Docker或者通过一个独立的Java 程序
Jenkins支持多种安装方法
相关信息
我这使用jar启动,安装前环境准备
sh#关闭防火墙和SELinux
略
#设置语言环境,防止后期Jenkins汉化出问题
[root@jenkins ~]# localectl set-locale LANG=en_US.UTF-8
#JAVA 环境
jenkins基于JAVA实现,安装jenkins前需要先安装 JDK
#安装openjdk
[root@ubuntu1804 ~]#apt update
[root@ubuntu1804 ~]#apt -y install openjdk-8-jdk
[root@ubuntu1804 ~]#java -version
openjdk version "1.8.0_242"
OpenJDK Runtime Environment (build 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08)
OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)
#或者安装oracle的jdk
[root@ubuntu1804 /usr/local/src]# tar xvf jdk-8u192-linux-x64.tar.gz
[root@ubuntu1804 /usr/local/src]# ln -sv /usr/local/src/jdk1.8.0_192/
/usr/local/jdk
[root@ubuntu1804 /usr/local/src]# ln -sv /usr/local/jdk/bin/java /usr/bin/java
#命令软连接
[root@ubuntu1804 /usr/local/src]# vim /etc/profile
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export
CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
[root@ubuntu1804 /usr/local/src]# source /etc/profile
[root@ubuntu1804 /usr/local/src]# java -version
java version "1.8.0_192"
Java(TM) SE Runtime Environment (build 1.8.0_192-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.192-b12, mixed mode)
#或者安装JDK-11版
[root@ubuntu2004 ~]#apt -y install openjdk-11-jdk
[root@rocky8 ~]#yum -y install java-11-openjdk
#Ubuntu 二进制包安装 jenkins
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
Then add the following entry in your /etc/apt/sources.list:
deb https://pkg.jenkins.io/debian-stable binary/
Update your local package index, then finally install Jenkins:
sudo apt-get update
sudo apt-get install jenkins
#deb 包下载地址国内镜像站点
https://mirror.tuna.tsinghua.edu.cn/jenkins/debian-stable/
[root@ubuntu1804 ~]#apt update
[root@ubuntu1804 ~]#apt -y install openjdk-8-jdk daemon
[root@ubuntu1804 ~]#wget https://mirror.tuna.tsinghua.edu.cn/jenkins/debianstable/jenkins_2.289.2_all.deb
[root@ubuntu1804 ~]#dpkg -i jenkins_2.289.2_all.deb
[root@ubuntu1804 ~]#systemctl status jenkins.service
rpm包国内镜像下载链接
https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/
#查看第一次登录密码
grep -A2 password /var/log/jenkins/jenkins.log
#查看第一次的登录密码
[root@centos8 ~]#cat /var/lib/jenkins/secrets/initialAdminPassword
cf4cd0d45e6041a3ba0dcaec345b105a
sh#修改配置
[root@centos8 ~]#grep -v "#" /etc/sysconfig/jenkins | grep -v "^$"
JENKINS_HOME="/var/lib/jenkins"
JENKINS_JAVA_CMD=""
JENKINS_USER="jenkins"
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=12345 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-Djava.rmi.server.hostname="10.0.0.101" \"
JENKINS_PORT="8080"
JENKINS_LISTEN_ADDRESS=""
JENKINS_HTTPS_PORT=""
JENKINS_HTTPS_KEYSTORE=""
JENKINS_HTTPS_KEYSTORE_PASSWORD=""
JENKINS_HTTPS_LISTEN_ADDRESS=""
JENKINS_DEBUG_LEVEL="5"
JENKINS_ENABLE_ACCESS_LOG="no"
JENKINS_HANDLER_MAX="100"
JENKINS_HANDLER_IDLE="20"
JENKINS_ARGS=""
#可选启动参数:优化参数
JENKINS_JAVA_OPTIONS="-server -Xms1g -Xmx1g -Xss512k -Xmn1g
-XX:CMSInitiatingOccupancyFraction=65
-XX:+UseFastAccessorMethods
-XX:+AggressiveOpts -XX:+UseBiasedLocking
-XX:+DisableExplicitGC -XX:MaxTenuringThreshold=10
-XX:NewSize=2048M -XX:MaxNewSize=2048M -XX:NewRatio=2
-XX:PermSize=128m -XX:MaxPermSize=512m -XX:CMSFullGCsBeforeCompaction=5
-XX:+ExplicitGCInvokesConcurrent -XX:+UseConcMarkSweepGC -XX:+UseParNewGC
-XX:+CMSParallelRemarkEnabled -Djava.awt.headless=true
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=12345
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Djava.rmi.server.hostname="10.0.0.101" "
#默认jenkins服务使用jenkins 帐号启动,将文件复制到生产服务器可能会遇到权限问题,因此修改为
root用户,需要重启
vim /etc/default/jenkins
JENKINS_USER=root
JENKINS_GROUP=root
sh#!/bin/bash
#
#********************************************************************
#Author: wangxiaochun
#QQ: 29308620
#Date: 2020-02-15
#FileName: install_jenkins.sh
#URL: http://www.wangxiaochun.com
#Description: 本脚本只支持Jenkins-2.319.3前版本
#Copyright (C): 2020 All rights reserved
#********************************************************************
JENKINS_VERSION=2.319.3
#JENKINS_VERSION=2.346.2
URL="https://mirrors.tuna.tsinghua.edu.cn/jenkins/debian-stable/jenkins_${JENKINS_VERSION}_all.deb"
#URL="https://mirrors.aliyun.com/jenkins/debian-stable/jenkins_${JENKINS_VERSION}_all.deb"
#URL="https://mirrors.aliyun.com/jenkins/debian-stable/jenkins_2.303.2_all.deb"
#URL="https://mirrors.tuna.tsinghua.edu.cn/jenkins/debian-stable/jenkins_2.289.3_all.deb"
#URL="https://mirrors.aliyun.com/jenkins/debian-stable/jenkins_2.289.3_all.deb"
#URL="https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.289.3-1.1.noarch.rpm"
GREEN="echo -e \E[32;1m"
END="\E[0m"
HOST=`hostname -I|awk '{print $1}'`
. /etc/os-release
color () {
RES_COL=60
MOVE_TO_COL="echo -en \\033[${RES_COL}G"
SETCOLOR_SUCCESS="echo -en \\033[1;32m"
SETCOLOR_FAILURE="echo -en \\033[1;31m"
SETCOLOR_WARNING="echo -en \\033[1;33m"
SETCOLOR_NORMAL="echo -en \E[0m"
echo -n "$1" && $MOVE_TO_COL
echo -n "["
if [ $2 = "success" -o $2 = "0" ] ;then
${SETCOLOR_SUCCESS}
echo -n $" OK "
elif [ $2 = "failure" -o $2 = "1" ] ;then
${SETCOLOR_FAILURE}
echo -n $"FAILED"
else
${SETCOLOR_WARNING}
echo -n $"WARNING"
fi
${SETCOLOR_NORMAL}
echo -n "]"
echo
}
install_java(){
if [ $ID = "centos" -o $ID = "rocky" ];then
#yum -y install java-1.8.0-openjdk
yum -y install java-11-openjdk
else
apt update
#apt -y install openjdk-8-jdk
apt -y install openjdk-11-jdk
fi
if [ $? -eq 0 ];then
color "安装java完成!" 0
else
color "安装java失败!" 1
exit
fi
}
install_jenkins() {
wget -P /usr/local/src/ $URL || { color "下载失败!" 1 ;exit ; }
if [ $ID = "centos" -o $ID = "rocky" ];then
yum -y install /usr/local/src/${URL##*/}
ystemctl enable jenkins
systemctl start jenkins
else
apt -y install daemon net-tools || { color "安装依赖包失败!" 1 ;exit ; }
dpkg -i /usr/local/src/${URL##*/}
fi
if [ $? -eq 0 ];then
color "安装Jenkins完成!" 0
else
color "安装Jenkins失败!" 1
exit
fi
}
start_jenkins() {
systemctl is-active jenkins
if [ $? -eq 0 ];then
echo
color "Jenkins安装完成!" 0
echo "-------------------------------------------------------------------"
echo -e "访问链接: \c"
${GREEN}"http://$HOST:8080/"${END}
else
color "Jenkins安装失败!" 1
exit
fi
while :;do
[ -f /var/lib/jenkins/secrets/initialAdminPassword ] && \
{ key=`cat /var/lib/jenkins/secrets/initialAdminPassword` ; break; }
sleep 1
done
echo -e "登录秘钥: \c"
${GREEN}$key${END}
}
install_java
install_jenkins
start_jenkins
shcat /var/lib/jenkins/secrets/initialAdminPassword
7d19df2dd74b48a9a48e9534456d0c92
注意
首次访问不安装任何插件,直接进入系统。因为默认去国外网站下载插件,速度很慢需要配置加速网站
如果显示 jenkins 已离线 ,将/var/lib/jenkins/hudson.model.UpdateCenter.xml文件中的更新检 查地址改成国内镜像地址,如清华大学地址,然后重启 jenkins 即可:
xml[root@ubuntu1804 ~]#vim /var/lib/jenkins/hudson.model.UpdateCenter.xml
<?xml version='1.1' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
#修改此行为下面行 <url>https://updates.jenkins.io/update-center.json</url>
<url>https://jenkins-zh.gitee.io/update-center-mirror/tsinghua/updatecenter.json</url>
</site>
</sites>
配置插件加速
sh#插件安装目录
/var/lib/jenkins/plugins/
#更改 Jenkins 的镜像源为国内镜像站
[root@jenkins ~]#sed -i.bak 's#updates.jenkins.io/download#mirror.tuna.tsinghua.edu.cn/jenkins#g' /var/lib/jenkins/updates/default.json
[root@jenkins ~]#sed -i 's#www.google.com#www.baidu.com#g' /var/lib/jenkins/updates/default.json
#注意:如果是tomcat运行war包方式需要下面路径
[root@jenkins ~]#sed -i.bak 's#https://updates.jenkins.io/download#https://mirror.tuna.tsinghua.edu.cn/jenkins#g' /root/.jenkins/updates/default.json
#将升级站点URL替换成下面国内镜像地址 在系统管理的插件管理中,高级的最下面升级站点URL
https://mirror.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
#再次安装插件即可
#绿色版方法
#离线插件包复制至插件安装目录,解包即可
-----------汉化----------
#安装Chinese插件即可
在Jenkins页面加速方法
新版2.387.1中配置SMTP邮件时如果使用smtp协议无法发送邮件,勾选使用SSL协议再测试发送邮件
发送邮件的邮箱要和管理员邮箱一致
本文作者:笑一个吧~
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 本文为博主「笑一个吧~」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 许可协议。转载请注明出处!