前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >jenkins部署流程

jenkins部署流程

作者头像
叔牙
发布2023-09-07 09:34:45
2830
发布2023-09-07 09:34:45
举报

1.jdk

代码语言:javascript
复制
代码语言:javascript
复制
yum install -y java-1.8.0-openjdk-devel
#配置环境变量
# jdk 8
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372.b07-1.1.al7.x86_64
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin


#生效
source /etc/profile
2.maven
代码语言:javascript
复制
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.gz
tar zxvf apache-maven-3.6.3-bin.tar.gz


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


source /etc/profile
3.git
代码语言:javascript
复制
yum install -y git

二、安装jenkins

下载rpm安装包:

代码语言:javascript
复制
mkdir -p /opt/tools/jenkins
cd /opt/tools/jenkins


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

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

安装jenkins:

代码语言:javascript
复制
rpm -ivh jenkins-2.354-1.1.noarch.rpm

修改文件夹权限:

代码语言:javascript
复制
chmod -R 777 /var/lib/jenkins
chmod -R 777 /var/cache/jenkins
chmod -R 777 /var/log/jenkins
//重新加载生效
systemctl daemon-reload

启动jenkins,默认端口是8080:

代码语言:javascript
复制
systemctl start jenkins

修改默认端口:

代码语言:javascript
复制
vim /usr/lib/systemd/system/jenkins.service


Environment="JENKINS_PORT=8089"

获取初始密码:

代码语言:javascript
复制
cat /var/lib/jenkins/secrets/initialAdminPassword

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

代码语言:javascript
复制
cd /var/lib/jenkins/updates


sudo sed -i 's#updates.jenkins.io/download/plugins#mirrors.tuna.tsinghua.edu.cn/jenkins/plugins#g' default.json
sudo sed -i 's#www.google.com#www.baidu.com#g' default.json
sudo 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属性:

代码语言:javascript
复制
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账号使用:

代码语言:javascript
复制
su - jenkins

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

代码语言:javascript
复制
sudo usermod -s /bin/bash jenkins
2.无法连接仓库
  • 宿主机安装git
  • 宿主机root账号和jenkins账号都需要把git地址添加到host
代码语言:javascript
复制
#生成公私钥
ssh-keygen -t rsa
#本地连接git,保证网络、私钥没问题
ssh  -i /opt/tools/gitlab_jekins_rsa git@git.xxx.com -p port
ssh -T -i /opt/tools/gitlab_jekins_rsa git@git.xxx.com -p port
ssh-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的内存限制:

代码语言:javascript
复制
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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-06-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PersistentCoder 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2.maven
  • 3.git
  • 二、安装jenkins
  • 三、安装插件和配置
    • 1.安装插件
      • 2.配置maven和jdk
      • 四、问题与解决
        • 1.切换jenkins失败
          • 2.无法连接仓库
            • 3.构建脚本中无法执行mvn命令
              • 4.npm打包失败
              • 参考
              相关产品与服务
              专用宿主机
              专用宿主机(CVM Dedicated Host,CDH)提供用户独享的物理服务器资源,满足您资源独享、资源物理隔离、安全、合规需求。专用宿主机搭载了腾讯云虚拟化系统,购买之后,您可在其上灵活创建、管理多个自定义规格的云服务器实例,自主规划物理资源的使用。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档