Jenkins部署

注意
本文最后更新于 2023-10-27,文中内容可能已过时。

摘要

Jenkins官网: https://jenkins.io/index.html

官方文档:https://wiki.jenkins-ci.org/display/JENKINS/Home

jenkins是一个广泛用于持续构建的可视化web工具,持续构建说得更直白点,就是各种项目的"自动化"编译、打包、分发部署。jenkins可以很好的支持各种语言(比如:java, c#, php等)的项目构建,也完全兼容ant、maven、gradle等多种第三方构建工具,同时跟svn、git能无缝集成,也支持直接与知名源代码托管网站,比如github、bitbucket直接集成。

卸载原有jdk

1
yum -y remove java*

安装jdk

1
yum -y install java-1.8.0-openjdk-devel

创建软链接

1
ln -s /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-1.el7_7.x86_64 /usr/local/java

下载

1
wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz

解压

1
2
tar zxf apache-maven-3.6.2-bin.tar.gz
mv apache-maven-3.6.2 /usr/local/maven

修改环境变量

1
2
3
4
5
export JENKINS_HOME="/data/jenkins" #jenkins数据存储目录
MAVEN_HOME="/usr/local/maven"
JAVA_HOME="/usr/local/java"
CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:${PATH}:$MAVEN_HOME/bin:$PATH
1
wget http://ftp-nyc.osuosl.org/pub/jenkins/war-stable/2.190.1/jenkins.war

将war包放入Tomcat运行

运行后访问 http://ip:prot/jenkins

如: http://127.0.0.1:8080/jenkins

修改jenkins插件更新地址

进入jenkins目录

1
sed -i 's/https:\/\/updates.jenkins.io\/update-center.json/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins\/updates\/update-center.json/g' hudson.model.UpdateCenter.xml

进入updates目录

1
2
3
sed -i 's/http:\/\/updates.jenkins-ci.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

首次进入要求输入密码,初始密码可以在Tomcat启动日志中查看,也可以在$JENKINS_HOME/secrets/initialAdminPassword查看。

https://img.bwcxtech.com/img/20200928160707.png

粘贴查到的密码

https://img.bwcxtech.com/img/20200928160759.png

选择安装的插件,我这里只安装了一个中文语言包

https://img.bwcxtech.com/img/20200928160824.png

等待安装

https://img.bwcxtech.com/img/20200928160836.png

我这里不创建账号,直接使用admin,进入后修改admin密码

https://img.bwcxtech.com/img/20200928160843.png

可以使用了

https://img.bwcxtech.com/img/20200928160856.png

可能出现部分汉化的情况,这种问题与系统字符编码有关

1
2
3
export LANG=en_US.UTF-8
export LANGUAGE=en_US:en
export LC_ALL=en_US.UTF-8

执行fc-list :lang=zh查看是否有中文字体

复制一个需要的字体

1
cp simhei.ttf /usr/share/fonts/

执行以下命令更新字体

1
fc-cache -fv

验证字体是否安装成功

执行fc-list :lang=zh能看到simhei说明安装成功

一条命令

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
docker run -d \
  -p 8080:8080 \
  -p 50000:50000 \
  -e TZ="Asia/Shanghai" \
  -e JAVA_OPTS="-Duser.timezone=Asia/Shanghai -Dsun.jnu.encoding=UTF-8 -Dfile.encoding=UTF-8" \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /data/jenkins-data:/data/jenkins \
  --restart=always \
  --privileged=true \
  --name jenkins \
  yaokun/jenkins:latest

在变更配置,或者升级插件及Jenkins本身时,会因为不兼容、配置不当或其他原因导致jenkins无法使用。

在此建议大家首先在测试环境进行测试。可以提前将${JENKINS_HOME}/config.xml备份一下,然后配置失败的时候迅速还原。

还有一种情况,配置 GitLab 和 Jenkins 用户认证时弄的 Jenkins 没有权限了。修改${JENKINS_HOME}/config.xml中的<useSecurity>true</usrSecurity><useSecurity>false</usrSecurity>以关闭 Jenkins 的权限认证,然后重启 Jenkins ,重新配置管理的权限,最后开启权限认证功能。可以暂时开启允许任何人访问。

相关内容