jenkins部署流程

jenkins部署流程

微信公众号:[PersistentCoder]
关注可了解更多的教程。问题或建议,请公众号留言;

内容目录

一、前置准备二、安装jenkins三、安装插件和配置四、问题与解决参考

一、前置准备

1.jdk

 
yum install -y java-1.8.0-openjdk-devel#配置环境变量# jdk 8export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372.b07-1.1.al7.x86_64export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$PATH:$JAVA_HOME/bin

#生效source /etc/profile

2.maven

mkdir -p /opt/tools/maven/cd /opt/tools/maven/wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gztar zxvf apache-maven-3.6.3-bin.tar.gz

# maven 3.6.3export MAVEN_HOME=/opt/tools/maven/apache-maven-3.6.3export PATH=${PATH}:${MAVEN_HOME}/bin

source /etc/profile

3.git

yum install -y git

二、安装jenkins

    下载rpm安装包:

mkdir -p /opt/tools/jenkinscd /opt/tools/jenkins

wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/jenkins-2.354-1.1.noarch.rpm

    不要使用官方的路径,贼慢。

    安装jenkins:

rpm -ivh jenkins-2.354-1.1.noarch.rpm

    修改文件夹权限:

chmod -R 777 /var/lib/jenkinschmod -R 777 /var/cache/jenkinschmod -R 777 /var/log/jenkins//重新加载生效systemctl daemon-reload

    启动jenkins,默认端口是8080:

systemctl start jenkins

    修改默认端口:

vim /usr/lib/systemd/system/jenkins.service

Environment="JENKINS_PORT=8089"

    获取初始密码:

cat /var/lib/jenkins/secrets/initialAdminPassword

    切换镜像源,进入到jenkins的默认的开发目录,在updates目录里面有一个default.json文件,这个文件里面有所有的插件的地址,这里面的地址记录的是国外的地址,所以是很慢的。

cd /var/lib/jenkins/updates

sudo sed -i 's#updates.jenkins.io/download/plugins#mirrors.tuna.tsinghua.edu.cn/jenkins/plugins#g' default.jsonsudo sed -i 's#www.google.com#www.baidu.com#g' default.jsonsudo sed -i 's#https://mirrors.tuna.tsinghua.edu.cn#http://mirrors.tuna.tsinghua.edu.cn#g' default.json

    Jenkins 2.354 版本默认启动内存大小为 256MB,垃圾回收器是ParallelGC,对于数量比较小的小项目打包构建问题不大,对于一些大项目以及多人协作打包构建,会出现卡顿和崩溃现象,所以我们要调整启动内存大小和修改垃圾回收器。编辑/usr/lib/systemd/system/jenkins.service,修改Environment属性:

Environment="JAVA_OPTS=-Djava.awt.headless=true -Xms8g -Xmx8g -XX:MaxNewSize=4g -XX:+UseG1GC"

    具体分配的启动内存可根据本身机器配置做调整,垃圾回收器换成效率比较高的g1。然后重启服务。

三、安装插件和配置

1.安装插件

    需要用到的常用插件,git parameter,maven integration,jdk integration,extend choice param plugin等

图片

2.配置maven和jdk

    maven配置文件

图片

    jdk安装目录

图片

maven安装目录

图片

四、问题与解决

1.切换jenkins失败

    从root切换到jenkins账号使用:

su - jenkins

    切换成功后提示符变成$,如果没有变,执行以下命令:

sudo usermod -s /bin/bash jenkins

2.无法连接仓库

图片

  • 宿主机安装git

  • 宿主机root账号和jenkins账号都需要把git地址添加到host

#生成公私钥ssh-keygen -t rsa#本地连接git,保证网络、私钥没问题ssh  -i /opt/tools/gitlab_jekins_rsa git@git.xxx.com -p portssh -T -i /opt/tools/gitlab_jekins_rsa git@git.xxx.com -p portssh-keyscan -p port git.xxx.com >> ~/.ssh/known_hosts

3.构建脚本中无法执行mvn命令

图片

    这个问题出现的原因是,Jenkins 的构建任务默认是在一个全新的 bash 会话(shell)中执行的,该会话可能缺少一些必要的环境变量或者没有正确加载系统的 PATH 环境变量,导致无法找到 mvn 命令。
    解决方案是在jenkins全局配置中添加环境变量:

图片

4.npm打包失败

图片

    npm打包需要使用比较耗cpu和内存的npm工具。前边有说到jenkins启动内存已经调整比较大了,但是npm打包还是报内存溢出失败,是由于 Node.js 进程使用的内存超过了其可用内存限制,我们可以在构建步骤中调整nodejs的内存限制:

 

export NODE_OPTIONS="--max-old-space-size=8192"

    当然上述配置是任务粒度,每增加一个项目都要添加上述配置,可以修改成全局配置,每个任务共享nodejs启动内存限制配置,具体修改方式可参考jenkins官方文档或翻阅其他资料。

参考

https://www.jenkins.io/
https://mirrors.tuna.tsinghua.edu.cn/
https://blog.csdn.net/weixin_43804995/article/details/126801501
https://blog.csdn.net/weixin_44896406/article/details/127032933
https://www.cnblogs.com/javastack/p/13707127.html

叔牙
阅读 857
PersistentCoder
147篇原创内容
 
 
posted @ 2023-06-24 09:41  往事已成昨天  阅读(130)  评论(0编辑  收藏  举报