1. 安装

1.1在线安装

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo

sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key

yum install jenkins

1.2修改端口

jenkins默认端口是8080,如果需要修改,则执行此步骤。注意防火墙的问题

vim /etc/sysconfig/jenkins


...

JENKINS_PORT="8787"

1.3修改默认操作用户

linux下jenkins默认使用jenkins用户进行脚本和文件的操作,如果不修改,在部署项目时需要调整涉及到的文件和目录的操作权限,可以调整jenkins配置文件,将用户修改为root用户。将JENKINS_USER="jenkins"调整为JENKINS_USER="root"

vim /etc/sysconfig/jenkins


...

JENKINS_USER="root"

1.4启动jenkins

systemctl start jenkins  # 启动jenkins

systemctl stop jenkins  = # 停止jenkins

systemctl restart jenkins  # 重启jenkins

systemctl status jenkins  # 查看jenkins状态

1.5创建账号

浏览器访问jenkins地址,地址如下:http://172.168.250.64:8787

首次访问会展示如下界面:

# 查看密码

cat /var/lib/jenkins/secrets/initialAdminPassword

jenkins部署安装_ide

1.6插件下载改成国内源

1. 进入 Manage Jenkins -> Manage Plugin -> Advanced 最下面有 Update Site 设置为:http://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

2. 重启Jenkins服务, 可通过浏览器重启:http://172.168.250.64:8787/restart


1.7设置中文化

安装插件Localization: Chinese和Locale plugin, 成功后重启jenkins


2.部署项目

2.1 Maven全局配置

主页—系统管理—全局工具配置


2.2 Jdk全局配置

主页—系统管理—全局工具配置


2.3安装插件

2.3.1 Publish Over SSH

在可选插件中搜索不到该插件,这里采取离线安装的方式:

【系统管理】 -> 【插件管理】 -> 【高级】,选择文件,点击【Deploy】

jenkins部署安装_ide_02

配置远程服务器

2.3.2 Maven Integration plugin

用来构建maven项目

直接在可选插件中搜索安装即可,下图显示的是已安装

jenkins部署安装_系统管理_03

2.3.3 Git Parameter

该插件可以在构建项目时选择分支,若无此需求可忽略。

2.3.4 Workspace Cleanup

 用来在build开始前或build完成后清理workspace,若无此需求可忽略。


2.4新增凭据

【系统管理】-【Manage Credentials】-【全局】-【添加凭据】

 Jenkins进行受限操作时的凭据,如访问git仓库(参考下图)

jenkins部署安装_ci_04

2.5新建任务

1.点击【新建任务】,输入任务名称,点击【构建一个maven项目】,【确定】

前提是已安装Maven Integration plugin

2.参数化构建过程

3.源码管理

4.Build

clean install '-Dmaven.test.skip=true'

5.传输文件到目标服务器并发布项目

6.构建结束后清理工作空间

构建后操作—增加构建后操作步骤:选择Delete workspace when build is done

7.点击【保存】

8.执行任务

3.构建Vue项目

3.1 安装插件

3.1.1 NodeJS

直接在可选插件中搜索安装即可,下图显示的是已安装

jenkins部署安装_ci_05

3.2 新建任务

打包vue项目


4.附件


5.脚本示例

provider-restart.sh

source /etc/profile

#!/bin/bash

pid=`ps -ef | grep desk-provider-1.0-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`

if [ -n "$pid" ]

then

   kill -9 $pid

   echo "closed process"$pid

fi


nohup java -jar -Xms512m -Xmx512m -Xss512K desk-provider-1.0-SNAPSHOT.jar --spring.profiles.active=dev > deskprovider.log 2>&1 &