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

环境目标

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

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

安装步骤

安装包准备

由于Jenkins最后一版支持Java 8的版本为2.356,因此从https://get.jenkins.io/war/2.356/下载该包并上传至服务器/home/soul目录下(soul是我创建的账号名)

Java环境安装

参考https://www.cnblogs.com/soultraitor/p/16654030.html,由于内网软件源上有这两个软件,因此可以直接安装,否则需要更换外网软件源,并开启代理安装

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

Jenkins启动

war包安装启动可参考官方文档:https://www.jenkins.io/doc/book/installing/war-file/,安装后默认安装位置为/home/soul/.jenkins目录

由于直接启动后,关闭终端就会导致进程终止,因此需要使用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 -Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8 -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协议头

设置开机启动Jenkins

首先在/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将服务设为开机启动,重启机器即可

Jenkins子节点配置

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

在Ubuntu机器上使用war包安装Jenkins的更多相关文章

  1. 阿里云上如何利用war包安装jenkins

    一. 前提条件:已安装jdk和tomcat 如何安装,请参考<如何在阿里云上部署war包到tomcat服务器> 二. 下载war包 下载地址:http://mirrors.jenkins- ...

  2. war包安装jenkins

    转自:https://blog.51cto.com/bigboss/2129358 系统环境: CentOS 7.5 1804 IP:192.168.1.3 关闭selinux.firewalld j ...

  3. 在ubuntu机器上部署php测试环境

    在ubuntu机器上部署php测试环境 一.部署环境 Ubuntu11.10_X86_32,编译安装相应的软件:nginx+mysql+php. 二.软件安装 2.1 软件下载 libiconv-1. ...

  4. Ubuntu 20.04 使用deb包安装mysql

    Ubuntu 20.04 使用deb包安装mysql 1.环境 WSL2 + Ubuntu 20.04 2.下载mysql的Ubuntu / Debian安装包 MySQL :: Download M ...

  5. 阿里云上如何利用yum安装jenkins

    一. 安装jdk 确保安装jenkins前jdk已经安装,如何安装见<如何在阿里云上部署war包到tomcat服务器> 二. 安装jenkins 使用以下命令安装jenkins: wget ...

  6. Jenkins持续集成(上)-Windows下安装Jenkins

    环境:Windows 2008 R2.Jenkins2.235.1: 概要 前面写过一篇文章,<自动发布-asp.net自动发布.IIS站点自动发布(集成SLB.配置管理.Jenkins)> ...

  7. 如何在阿里云上部署war包到tomcat服务器

    一. 准备工作:xshell和xftp 首先我们得确保,xshell能够远程连接阿里云ECS,xftp能够保证windows和linux之间的文件传输(当然也可以选择FileZilla,但xftp感觉 ...

  8. 二、WebSphere Application Server上部署war包并访问

    进入我们was服务器控制台之后我们直接按照下图操作: 2.选择要上传的war包,下一步 3.一直下一步,步骤4注意填好“上下文根”,然后继续下一步,直到完成. 4.点击保存到主配置 5.应用程序> ...

  9. struts2使用Convention Plugin在weblogic上以war包部署时,找不到Action的解决办法

    环境: struts 2.3.16.3 + Convention Plugin 2.3.16.3 实现零配置 现象:以文件夹方式部署在weblogic(10.3.3)上时一切正常,换成war包部署,运 ...

  10. Sae上传war包找不到编译文件

    最近在试新浪的sae平台,有个问题困扰了几天,现在想来还是自己对JAVA的理解不深入,这里写下仅作记忆. 问题:在整微信公众号平台进开发者中心的时候,token验证一直是失败的.但是项目在本地的环境中 ...

随机推荐

  1. Docker本地搭建个人企业私有云盘seafile搭建(完美解决ONLYOFFICE无法预览的情况)

    seafile搭建 #创建存放路径 mkdir -p /media/megrez/data/seafile/seafile-mysql/db mkdir -p /media/megrez/data/s ...

  2. 新一代开源流数据湖平台Apache Paimon入门实操-下

    @ 目录 实战 写表 插入和覆盖数据 更新数据 删除数据 Merge Into 查询表 批量查询 时间旅行 批量增量查询 流式查询 时间旅行 ConsumerID 查询优化 系统表 表指定系统表 分区 ...

  3. 推荐一个高效解压缩工具 - XZ

    前情提要:前段时间搞某较大型项目的性能测试,使用的是Oracle数据库.压测阶段搞的业务基础数据和压测数据耗时耗力,想把数据导出,后续有类似项目,可以导入复用. 遇到问题:通过数据泵方式导出的数据库文 ...

  4. C++火车头优化

    代码如下(加在头文件前): 1 #pragma GCC optimize(3) 2 #pragma GCC target("avx") 3 #pragma GCC optimize ...

  5. 开源.NetCore通用工具库Xmtool使用连载 - 图形验证码篇

    [Github源码] <上一篇> 介绍了Xmtool工具库中的Web操作类库,今天我们继续为大家介绍其中的图形验证码类库. 图形验证码是为了抵御恶意攻击出现的一种设计:例如用户登录.修改密 ...

  6. Jenkins持续集成入门到精通(进阶篇)

    视频参考:https://www.bilibili.com/video/BV1Vp4y1b7ZN?p=51 1. Jenkins+Docker+SpringCloud持续集成流程说明 大致流程说明: ...

  7. Vue-入门vue,及第一个vue程序

    一.初始Vue 什么是vue Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架.它基于标准 HTML.CSS 和 JavaScript 构建,并提 ...

  8. OPPO主题组件开发 - 调试与预览

    本篇作为 OPPO主题组件调试与预览 文档的补充,因为它真的很简单而且太老,一些命令已发生变化 1. 调试前准备 1. PC 端下载 adb命令工具 下载 https://adbdownload.co ...

  9. 起风了,NCC 云原生项目孵化计划

    时间回到 2016 年,彼时 .NET Core 1.0 刚刚发布 1.0 版本,我跟几位好友共同发起 .NET Core 中文学习组(.NET Core China Studying Group)和 ...

  10. oj练习题程序编程题

    打印图形Description按要求输出由*组成的图案Input无需输入Output输出下面由"组成的图案卡 11 print('*') print("***") pri ...