当前位置: 首页 > news >正文

【Jenkins流水线搭建】

Jenkins流水线搭建

  • 01、SpringBoot项目 - Jenkins基于Jar持续集成搭建文档
    • 基于手动方式发布项目
    • 基于dockerfile
    • 基于jenkins + dockerfile + jenkinsfile +pieline
    • 基于jenkins + jar方式的发布
    • 01、环境说明
    • 01、准备项目
    • 02、准备服务器
    • 03、安装git
    • 04、安装jdk1.8
    • 05、安装maven依赖
    • 06、安装jenkins
    • 07、启动jenkins
    • 08、解锁 Jenkins
    • 09、自定义Jenkins
    • 10、创建管理员账号
    • 11、实例配置
    • 12、Jenkins控制面板
    • 13、配置镜像源
    • 14、Jenkins插件安装
      • 1、jekins汉化插件安装
      • 2、安装Credentials Binding插件
      • 3、git插件安装
    • 15、配置凭据 - 全局Git账号和密码管理
    • 16、配置环境变量
      • 配置jdk
      • 配置Maven
    • 17、Jenkins关联环境变量和设置常量
  • 02、基于Jenkins的jar的方式发布和部署
    • 01、准备项目
    • 02、创建代码仓库
    • 03、项目关联仓库
    • 04、在jenkins创建一个任务
    • 05、编写shell脚本和jenkins关联执行
    • 06、开始构建即可
    • 代码
  • 02、基于Jenkins的docker的方式发布和部署
    • 01、Pipeline插件安装
    • 02、利用Pipeline自动化发布服务
      • 1、点击新建任务,填写项目名称,选择流水线,点击确认
      • 2、开始构建
      • 3、配置端口映射
      • 4、配置项目名称
      • 5、该有的参数都已经准备完毕,接下来要做的就是拉取代码
      • 6、项目配置好以后
    • 03、创建Jenkinsfile
    • 04、然后在jenkins的控制台中

01、SpringBoot项目 - Jenkins基于Jar持续集成搭建文档

基于手动方式发布项目

  • 开发代码

  • 打包-jar

  • 把jar上传到服务器

  • 把上一次的服务杀掉,停止

  • 启动运行新的jar

基于dockerfile

  • 开发代码

  • 编写Dockerfile (一次性)

  • mvn clean package 自动生成镜像

  • 手动或者使用idea Docker插件,创建容器,启动容器

    学习成本:Docker

基于jenkins + dockerfile + jenkinsfile +pieline

  • 开发代码
  • 搭建jenkins环境 (一次性)
  • 编写Dockerfile (一次性) 和Jenkinsfile规则(一次性)
  • 上传代码
  • jenkins控制台启动服务 (触发器)

学习成本:Docker ,Jenkins ,Pieline 触发器

基于jenkins + jar方式的发布

  • 开发代码

  • 搭建jenkins环境 (一次性)

  • 创建一个任务 ,创建shell脚本

  • 上传代码

  • jenkins控制台启动服务 (触发器)

01、环境说明

服务 所需软件 部署地址
持续集成服务 Jenkins 2.319.1、Maven3.6.3,Git 47.107.225.126
应用测试服务 JDK1.8 47.107.225.126

01、准备项目

准备一个springboot + Dockerfile项目

02、准备服务器

服务器配置建议:4core + 8G 或者 4core + 16G 越高越好。

提醒:学生机就不要来试了,估计docker都跑不起来就卡死了

03、安装git

查看是否已经安装
git --version
使用yml安装
yum -y install git

image-20220111150549668

04、安装jdk1.8

查看当前是否有安装jdk

  • maven和项目,jekenis都java项目肯定需要java环境
java -version

安装jdk1.8

yum install java-1.8.0-openjdk* -y
  • 安装完以后,默认的路径是: /usr/lib/jvm
  • 提醒:建议不要安装jdk11。

05、安装maven依赖

  • 1、前往官网下载自己想要的maven包

    地址: http://maven.apache.org/download.cgi

    各版本地址:https://archive.apache.org/dist/maven/maven-3/

    我以apache-maven-3.6.3-bin.tar.gz为例,

    下载地址: https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz

  • 2、将maven上传liunx服务器上,我这里上传到了/www/servers,当前的安装目录root如下:cd /www/servers

    mkdir -p /www/servers/maven
    cd /www/servers/maven
    
  • 3、上传完毕,执行解压

    wget https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
    

    如果下载很慢建议用手动的方式上传到/www/servers/maven

    #解压文件
    tar -xzvf apache-maven-3.6.3-bin.tar.gz
    #创建目录,用于存放maven
    mkdir -p /opt/maven
    #将解压完的maven文件剪切到刚刚创建的目录下
    mv apache-maven-3.6.3/* /opt/maven 
    

    image-20220111151351229

    建议配置:阿里云的maven镜像。https://developer.aliyun.com/mvn/guide 步骤:在conf/setttings.xml中配置如下:

    <mirror>
        <id>aliyunmaven</id>
        <mirrorOf>*</mirrorOf>
        <name>aliyunrepositoty</name>
        <url>https://maven.aliyun.com/repository/public</url>
    </mirror>
    

    image-20220111233516650

  • 4、配置maven环境变量
    安装完maven,还需要配置java和maven的环境变量。就放在文件的尾部即可

    首先打开环境配置文件

    vim /etc/profile
    

    配置内容

    export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk 
    export MAVEN_HOME=/opt/maven 
    export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
    

    执行保存生效

    source /etc/profile 
    

    查看maven版本

    mvn -v 
    
    [root@iZwz9gi039o35ikykbyj1tZ maven]# mvn -v
    Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
    Maven home: /opt/maven
    Java version: 1.8.0_312, vendor: Red Hat, Inc., runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64/jre
    Default locale: zh_CN, platform encoding: UTF-8
    OS name: "linux", version: "3.10.0-1160.49.1.el7.x86_64", arch: "amd64", family: "unix"
    

06、安装jenkins

1、官网地址

https://www.jenkins.io/download/

相关文章:

  • getContainer 是 Ant Design 中重要属性
  • 0基础学LabVIEW
  • 第五篇:AI增强与未来演进——指标管理平台的智能化革命
  • org.apache.kafka.common.errors.TimeoutException
  • C语言:数组和冒泡排序
  • 进阶数据结构——树状数组
  • 鸿蒙HarmonyOS NEXT开发:优化用户界面性能——组件复用(@Reusable装饰器)
  • 【抽象代数】1.2. 半群与群
  • 云HIS医院管理信息系统程序代码,SaaS模式Java语言开发
  • 第 14 天:UE5 C++ 与蓝图(Blueprint)交互!
  • Python----Python高级(网络编程:网络基础:发展历程,IP地址,MAC地址,域名,端口,子网掩码,网关,URL,DHCP,交换机)
  • qt + opengl 给立方体增加阴影
  • 《玩转AI大模型:从入门到创新实践》(10)附录一、AI工具百宝箱
  • LVS 负载均衡集群(DR 模式)
  • 算法刷题-数组系列-59.螺旋矩阵||
  • HTML之JavaScript对象声明
  • 自学网络安全(黑客技术)2024年 —100天学习计划
  • 从驾驶员到智能驾驶:汽车智能化进程中的控制与仿真技术
  • SQL联合查询
  • 如何使用UniApp实现页面跳转和数据传递?
  • 茅台总经理到访五粮液:面对白酒行业周期性调整,需要团结一心的合力
  • 一旅客因上错车阻挡车门关闭 ,株洲西高铁站发布通报
  • 七猫征文大赛颁出112万奖金,非遗题材作品斩获金奖
  • 老字号“逆生长”,上海制造的出海“蜜”钥
  • 吉利汽车一季度净利润大增264%,称整合极氪后实现整体效益超5%
  • 光明日报:家长孩子共同“息屏”,也要保证高质量陪伴