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

jenkins的安装(War包安装)

Jenkins是一个开源的持续集成工具,基于Java开发,主要用于监控持续的软件版本发布和测试项目。‌ 它提供了一个开放易用的平台,使软件项目能够实现持续集成。Jenkins的功能包括持续的软件版本发布和测试项目,以及监控外部调用执行的工作。‌

环境要求

由于此处我们选择的是war包安装, 因此是需要java环境变量的, 相信安转jenkins的小伙伴们都不缺java环境的, 此处不再过多赘述

下载

jenkins官网下载地址: Download and deploy

jenkins的官网提供了多种安装方式, 此处我选择的war包安装, 需要稳定的选择左侧的长期支持版本

注意: 最新版的jenkins是不支持java8的

启动jenkins

下载好的war包放在任意位置即可, 为了启动方便, 我们可以编辑一个启动脚本(linux系统)

将脚本与war包放在同一目录下即可,启动端口为8080,有冲突的需要自行修改

#!/bin/bash
 
## war包名称
JAR_NAME="jenkins.war"
 
## 查找是否有运行的jenkins.war 返回pid
pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'`
 
## 输出的日志位置 如果报文件不存在,就在jenkins目录下touch nohup.out,就ok了
LOG_PATH=/data/jenkins/nohup.out
 
## 如果pid不存在,说明没有正在运行的jenkins.war,直接启动
if [ -z $pid ]; then
        ## 台运行 jenkins.war --httpPort指定端口8080 ,如果端口被占用了,可指定其他端口
        ## 因为我使用了nginx代理端口,所以使用 --prefix 指定了请求前缀为/jenkins 这个需要在nginx中配置相同前缀/jenkins,就可以外网访问jenkins了
        ## 如果没有使用反向代理,就不需要添加 --prefix="/jenkins" 这一截
    nohup java -jar $JAR_NAME --httpPort=8080 --prefix="/jenkins"  > $LOG_PATH 2>&1 &
    ## 查看启动后的pid
    pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'`
    echo "Service ${JAR_NAME} is started!pid=${pid}"
    ## 动态查看启动日志
    tail -f ${LOG_PATH}
## 如果pid存在,说明有正在运行的jenkins.war,需要先杀掉这个进程,再重新启动jenkins.war
else
        ## 杀掉已有进程
    kill -9 $pid
    ## 重新运行jenkins.war
    nohup java -jar $JAR_NAME --httpPort=8080 --prefix="/jenkins"  > $LOG_PATH 2>&1 &
    echo "Service ${JAR_NAME} is restarted!pid=${pid}"
    tail -f ${LOG_PATH}
fi
 

注意给脚本执行权限

chmod +x start.sh

访问jenkins

第一次启动jenkins后系统会生成一串密码, 记住这串密码, 登录的时候会用到

 登录

安装插件

安装插件使用推荐即可, 大概率会出现安装失败的情况, 不过也不用慌, 可用过修改源的方式来下载

jenkins国内插件源_jenkins国内源-CSDN博客

 创建管理员账号

 


http://www.kler.cn/a/403234.html

相关文章:

  • 【网络安全】SSL(一):为什么需要 Keyless SSL?
  • fastify 连接 mysql
  • 私域四步走:打造你的专属流量池
  • 动态规划子数组系列一>等差数列划分
  • C++和js对比
  • 第四十二篇-离线升级Ollama-V4.1
  • Python学习------第十天
  • Kadane 算法 详解
  • C++:类和对象
  • 使用MATLAB进行遗传算法设计
  • kafka是如何做到高效读写
  • 前端算法题
  • 前端基础的讲解-JS(14)
  • 【AIGC】ChatGPT提示词Prompt解析:情感分析,分手后还可以做朋友吗?
  • LTE Cat 1 无线通信模块 AT 指令使用
  • uni-app Vue3语法实现微信小程序样式穿透uview-plus框架
  • 第7章硬件测试-7.3 功能测试
  • JS一个then方法异步的问题
  • 【模型级联】YOLO-World与SAM2通过文本实现指定目标的零样本分割
  • 原生JS和CSS,HTML实现开屏弹窗
  • 快速简单的视频下载器——lux
  • 部门管理系统功能完善(删除部门、添加部门、根据 ID 查询部门 和 修改部门)
  • 思考Redis的用途 2024-11-19
  • 【数据结构】—— 时间复杂度、空间复杂度
  • 依赖管理(go mod)
  • Android开发实战班 - 网络编程 - WebSocket 实时通信