首页 > 其他分享 >jenkins部署流程

jenkins部署流程

时间:2023-06-24 10:01:40浏览次数:34  
标签:git lib 部署 流程 maven HOME jenkins tools

jenkins部署流程

原创 叔牙 PersistentCoder 2023-06-10 02:30 发表于浙江

微信公众号:[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 [email protected] -p portssh -T -i /opt/tools/gitlab_jekins_rsa [email protected] -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篇原创内容    

标签:git,lib,部署,流程,maven,HOME,jenkins,tools
From: https://www.cnblogs.com/cherishthepresent/p/17500721.html

相关文章

  • 【五子棋实战】第4章 部署五子棋计算接口到Window、Linux上
    【五子棋实战】第4章部署五子棋计算接口到Window、Linux上python项目打包成exe可执行文件##步骤一、安装pyinsatller##步骤二、使用pyinstaller打包Python程序##操作演示##注意事项!!python的Flask接口部署(Linux)##步骤一、安装必要的软件依赖##步骤二、安装Flask和......
  • 堡垒机模块-(jumperserver部署完成)
    堡垒机模块原创 希里安 希里安 2023-05-3018:00 发表于四川收录于合集#堡垒机1个#webshell1个#开源4个关注“希里安”,get更多有用干货 前两天在项目里加了个webshell,还没开发完成,有读者朋友说费那劲干嘛,直接引入类似jumpserver开源堡垒机就完事了。说的不......
  • MySQL 中常见的高可用架构部署方案
    MySQL中常见的高可用架构部署方案IT奋斗的青年 2023-06-0608:36 发表于山东收录于合集#mysql17个MySQL中的集群部署方案前言这里来聊聊,MySQL中常用的部署方案。MySQLReplicationMySQLReplication 是官方提供的主从同步方案,用于将一个MySQL的实例同步到另......
  • 读发布!设计与部署稳定的分布式系统(第2版)笔记10_自动化和缓慢的响应
    1. 工业机器人1.1. 具有多层防护措施,防止对人员、机器和设施造成损害1.2. 防护措施能限制机器人的动作和传感器的感知1.3. 机械臂的旋转范围会远远小于它可以达到的全部运动范围2. 自动化2.1. 它更像是工业机器人2.1.1. 掌握控制层感知系统的当前状态2.1.2. 将其......
  • Kafka部署指南:详细步骤解析
    引言:Kafka是一个高性能、分布式的消息队列系统,被广泛应用于大数据和实时数据处理场景。本文将详细介绍如何在Linux系统上部署和配置Kafka,以便您能够快速开始使用这个强大的消息传递平台。步骤1:准备工作确保您已经安装了JavaDevelopmentKit(JDK),并设置了JAVA_HOME环境变量。......
  • Springboot web 项目开发流程梳理总结
    项目开发流程梳理总结1.环境准备1.准备数据库表(user,order);2.创建springboot工程,引入对应的起步依赖(web,mybatis,mybatisx,mysql驱动,lombok);3.配置文件application.properties中引入mybatis的配置信息,准备对应的实体类;4.准备对应的mapper,service(接口,实现类),controlle......
  • 部署filebeat
    以UAT10.200.1.68为例:1.上传压缩包 filebeat-7.16.2-linux-x86_64.tar.gz 2.解压 filebeat-7.16.2-linux-x86_64.tar.gzcd/home/middleware3tar-zxvf filebeat-7.16.2-linux-x86_64.tar.gz-C/home/middleware3/3、手动改名 4、原有的配置文件备份,上传自己的配......
  • Paimon的写入流程
    基于Paimon0.5版本写入流程的构建org.apache.paimon.flink.sink.FlinkSinkBuilder#build算子的流向BucketingStreamPartitioner分区->RowDataStoreWriteOperator写入->CommitterOperator提交Primarykey表写入BucketingStreamPartitioner根据数据的bucket和parti......
  • java编程开发之若依vue --- 部署
      部署的大致步骤0.配置环境,jdk下载安装配置环境变量,Mysql下一步就好记住用户名和密码,Redis下载win版本运行即可,Maven下载配置环境变量修改本地库存放位置,Node下一步就好设置下淘宝的镜像源。JDK>=1.8(推荐1.8版本)Mysql>=5.7.0(推荐5.7版本)Redis>=3.0Maven>......
  • JS(运算符、流程控制)
    一运算符(操作符)1运算符的分类运算符(operator)也被称为操作符,是用于实现赋值、比较和执行算数运算等功能的符号。JavaScript中常用的运算符有:算数运算符递增和递减运算符比较运算符逻辑运算符赋值运算符2算数运算符算术运算符概述概念:算术运算使用的符号,用于执......