在Ubuntu机器上使用war包安装Jenkins

因为一些需求需要迁移之前使用的Jenkins,原来是按照官方文档使用apt方式安装的,这次搬迁后的机器由于默认不通外网(可以通过代理走外网),因此趁此机会,尝试改用war包方式安装

系统Ubuntu 18.04,默认JDK设为8,以JDK 11启动Jenkins主节点,以JDK 8启动Jenkins子节点

注:实际子节点为另一台机器,默认设为8是因为机器上其他应用需要运行在该环境下,以JDK 8启动节点是因为自动化代码不支持JDK 11

注:JDK 10在执行 java -version时也会被认为是JDK 11,但实际无法启动Jenkins,需要安装真正的JDK 11

由于直接启动后,关闭终端就会导致进程终止,因此需要使用 nohup进行后台启动,同时为了方便启动/终止Jenkins进程,这里使用脚本来实现

在jenkins.war同目录下新建jenkins.sh文件

#!/bin/bash

pid=$(ps -ef | grep jenkins.war | grep -v 'grep' | awk '{print $2}')
if [ "$1" = "start" ]; then
    if [ -n "$pid" ]; then
        echo 'jenkins is running...'
    else
        ### java启动服务 配置java安装根路径,和启动war包存的根路径
        nohup /usr/lib/jvm/java-11-openjdk-amd64/bin/java -jar /home/soul/jenkins.war >/dev/null 2>&1 &
    fi
elif [ "$1" = "stop" ]; then
    exec ps -ef | grep jenkins | grep -v grep | awk '{print $2}' | xargs kill -9
    echo 'jenkins is stopped...'
else
    echo "Please input like this:"./jenkins.sh start" or "./jenkins.sh stop""
fi

之后即可使用 ./jenkins.sh start./jenkins.sh stop来启停Jenkins

首次启动进行初始化配置时,由于无法连接外网,因此会下载不了插件,此时可选择配置代理,之后即可正常下载插件

注:代理地址不要带http协议头

首先在/etc/systemd/system目录下创建rc-local.service文件

[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local

[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99

[Install]
WantedBy=multi-user.target

然后在/etc下创建rc.local文件,并设置权限 sudo chmod +x rc.local,文件内容如下,中间注释以下,exit 0以上的部分是启动所需命令,意为使用soul账号执行启动命令(否则会用root账号启动,与原先soul启动的不是同一个Jenkins)

#!/bin/bash
#
rc.local
#
This script is executed at the end of each multiuser runlevel.

Make sure that the script will "exit 0" on success or any other
value on error.

#
In order to enable or disable this script just change the execution
bits.

#
By default this script does nothing.

/bin/su - soul -c "/home/soul/jenkins.sh start"

exit 0

最后执行 sudo systemctl enable rc-local将服务设为开机启动,重启机器即可

工具位置中,JDK指定路径为/usr/lib/jvm/java-8-openjdk-amd64/jre

Original: https://www.cnblogs.com/soultraitor/p/16655100.html
Author: SoulTraitor
Title: 在Ubuntu机器上使用war包安装Jenkins

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/577976/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 通过过滤器实现前后端分离的跨域问题

    跨域指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。在做前后端分离项目的时候就需要解决此问题。 创建过滤器解决跨域问…

    Linux 2023年6月7日
    099
  • Vimrc 配置文件

    配置信息 在linux当中保存在 ~/.vimrc, windows 存放在 ~/_vimrc 如果是 nvim 就放在 AppData\Local\nvim\init.vim 配…

    Linux 2023年6月7日
    085
  • django.template.exceptions.TemplateDoesNotExist: django_filters/rest_framework/form.html

    django.template.exceptions.TemplateDoesNotExist: django_filters/rest_framework/form.htmlER…

    Linux 2023年6月14日
    0154
  • Centos7安装Redis

    下载 wget http://download.redis.io/releases/redis-5.0.0.tar.gz 解压 tar xvf redis-5.0.0.tar.gz…

    Linux 2023年5月28日
    090
  • 白话TCP/IP原理

    TCP/IP(Transmission-Control-Protocol/Internet-Protocol),中文译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Inte…

    Linux 2023年6月14日
    073
  • 【滚动更新】C++ 八股文选集(没代码,纯应试)

    1,变量的声明和定义有什么区别。 声明不分配内存,定义分配内存。变量只能被定义一次,但可以被声明多次。 2,#ifdef、#else、#endif和#ifndef的作用。 预处理条…

    Linux 2023年6月13日
    094
  • 保姆教程系列三、Nacos Config–服务配置

    前言: 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i 上篇我们介绍到 保姆教程系列二、Nacos实现注册中心 配置中心原理 一、 服务配置中心介绍 首先我们来看一下,微…

    Linux 2023年6月14日
    094
  • CentOS7下安装python3.7

    以原码编译的方式安装 1.官网下载python3.7软件包 2.上传至Linux中,并解压 tar -zxvf python-3.7.2.tgz 3.安装gcc和python所需依…

    Linux 2023年6月6日
    082
  • 方法的深度理解

    权限修饰符 返回值类型 类名(行参列表 )throws 异常的类型{ //方法体 约定俗称:子类中叫重写的方法,父类中叫被重写的方法。 ①子类重写的方法名和行参列表和父类被重写的方…

    Linux 2023年6月14日
    097
  • Laxcus集群操作系统桌面图标优化和算法

    泰山不拒细壤,故能成其高;江海不择细流,故能成其深。全抱之末生于毫末,九层之台起于累土,千里之行始于足下。 任何一个完善成熟的产品,都是从微小的改进开始! Laxcus集群操作系统…

    Linux 2023年6月6日
    092
  • Spring事务基础入门及AOP陷阱分析

    更新说明: 2021-12-28 6.2.1 章节更新了代理说明图,调整了说明顺序,修复了错误说明 转载请注明出处: https://www.cnblogs.com/qnlcy/p…

    Linux 2023年6月6日
    078
  • 统计算法_数值/线性关系度量

    继续统计算法,这次也没什么特别的,还没到那么深入,也是比较基础的1、方差-样本2、协方差(标准差)-样本3、变异系数4、相关系数 依然是先造个list,这次把这个功能写个函数,方便…

    Linux 2023年6月6日
    0148
  • 【Example】C++ 虚基类与虚继承 (菱形继承问题)

    C++ 是支持多继承的语言, 但是实际项目开发中非必要不要使用多继承以降低代码逻辑的复杂性,当然 C++ 多继承的特性带来一些问题即 菱形继承。 当一个类继承了两个来自同父类的子类…

    Linux 2023年6月13日
    074
  • 零成本搭建个人博客搭建篇

    为什么要搭建个人博客 尽管已经有很多成型的在线博客平台供大家使用(csdn,博客园,掘金等),但是它们都有一些很明显的弊端,例如账号以及博客内容受到监管,所有权不属于作者本人,对于…

    Linux 2023年6月7日
    062
  • Kibana 7.15.x [error][savedobjects-service] [.kibana] Action failed with ‘Request timed out’. Retrying attempt 报错处理。

    1、报错 近日在windows平台使用7.15.2 的elasticsearch 和kibana 时候,在开启es cmd窗口后,kibana无法启动,报错误下。 log [09:…

    Linux 2023年6月6日
    0120
  • Linux之export命令

    镜像下载、域名解析、时间同步请点击阿里云开源镜像站 export命令用于将shell变量输出为环境变量,或者将shell函数输出为环境变量。 一个变量创建时,它不会自动地为在它之后…

    Linux 2023年5月27日
    0119
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球