Jenkins入门使用

1先安装jdk才能运行jenkins

yum install -y java-1.8.0-openjdk.x86_64

2 安装jenkins,运行,进行端口绑定,启动jenkins

docker search jenkins
docker pull jenkins/jenkins
docker run -d -u root -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime --name jenkins jenkins/jenkins
docker start jenkins

3查看运行状态,

docker ps

4根据CONTAINER ID读取运行日志查看初始密码

docker logs 127e1b3f1587

复制上面的密码,通过浏览器访问服务器ip:8080,粘贴上面的密码。使用按照推荐安装插件,进行初始化安装

安装完成后建立管理员账号。

新建一个任务,

输入名称选择构建一个自由风格的软件项目

复制自己代码的git地址

私人仓库添加添加密码作为凭证进行访问

选择我们想要构建的分支,点击下面的save保存

打开-》全局工具

下载maven

设置maven构建项目,再次打开项目的配置界面找到下图

选择刚刚下载的maven,设置构建执行目标,pom路径设置父级pom文件路径

在系统管理-》插件管理-下载插件(我已经下载过了所以在Installed plugings搜索)应该在Avaliable plugings搜索

在系统管理下设置ssh远程服务

再次打开项目的配置界面,选择下图

设置执行的脚本文件,这里设置的就是本地服务器所以直接执行的本地的jar包,可以设置远程端的服务器,将本地打的包放到其他服务器运行。

脚本:

!/bin/bash

APP_NAME="项目名.jar"

LOG_NAME="/var/jenkins_home/logs/项目名.log"

TARGET_DIR="/var/jenkins_home/jar"

SOURCE_JAR="/var/jenkins_home/workspace/任务名/项目文件夹/项目文件夹/target/$APP_NAME"

#创建必要目录

mkdir -p $TARGET_DIR

mkdir -p $(dirname $LOG_NAME)

#复制文件

if [ -f $SOURCE_JAR ]; then

cp $SOURCE_JAR $TARGET_DIR

echo "文件已复制到 $TARGET_DIR"

else

echo "错误:源文件 $SOURCE_JAR 不存在"

exit 1

fi

#检测程序是否运行

function is_exist() {

pid=$(ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}')

if [ -z "$pid" ]; then

return 1 # 不存在

else

return 0 # 存在

fi

}

if is_exist; then

echo "检测到已启动的程序,pid 是 ${pid}"

kill -9 $pid

echo "程序已停止"

else

echo "程序未运行"

fi

#重新启动程序

if is_exist; then

echo "程序仍在运行,无法重新启动"

else

source /etc/profile

BUILD_ID=dontKillMe

nohup java -Xms300m -Xmx300m -jar $TARGET_DIR/$APP_NAME > $LOG_NAME 2>&1 &

echo "程序已重新启动..."

fi

注:项目名要和我们在pom的build标签下的项目名写的一样才行

Jenkins入门使用的更多相关文章

  1. Jenkins入门系列之——02第二章 Jenkins安装与配置

    2014-12-08:已不再担任SCM和CI的职位,Jenkins的文章如无必要不会再维护. 写的我想吐血,累死了. 网页看着不爽的,自己去下载PDF.有问题请留言! Jenkins入门系列之——03 ...

  2. [转载] Jenkins入门总结

    转载自http://www.cnblogs.com/itech/archive/2011/11/23/2260009.html 在网上貌似没有找到Jenkins的中文的太多的文档,有的都是关于Huds ...

  3. Jenkins入门总结

    Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: 1.持续的软件版本发布/测试项目. 2.监控外部调用执行的工作 在网上貌似没有找到Jenkins的中文的太多的文 ...

  4. Jenkins入门系列之

    Jenkins入门系列之——00答疑解惑 Jenkins进阶系列之——11修改Jenkins用户的密码 Jenkins进阶系列之——12详解Jenkins节点配置 Jenkins进阶系列之——13修改 ...

  5. Jenkins入门-转

    reference : http://www.cnblogs.com/itech/archive/2011/11/23/2260009.html 在网上貌似没有找到Jenkins的中文的太多的文档,有 ...

  6. Jenkins入门【转】

    一.Jenkins概述 二.安装Jenkins https://pkg.jenkins.io/redhat-stable/ sudo wget -O /etc/yum.repos.d/jenkins. ...

  7. Jenkins 入门系列--Jenkins 的安装配置

    写的我想吐血,累死了. 网页看着不爽的,自己去下载PDF.有问题请留言! Jenkins入门系列之--03PDF文档下载 第二章 Jenkins安装与配置 2 Jenkins安装 在最简单的情况下,J ...

  8. Jenkins入门教程

    Jenkins入门教程 @ 目录 Jenkins入门教程 1. 什么是Jenkins 1.1 我们为啥需要jenkins 1.2. Jenkin实现原理 2. Jenkins搭建 2.1. Jenki ...

  9. Jenkins入门,介绍、安装

    一.介绍 Jenkins: 三.安装 Jenkins:        第一种方式:        下载 windows 版本:进入 Jenkins 官网:https://jenkins.io/ 进入下 ...

  10. Jenkins入门之新建任务

    简单了解了Jenkins界面之后,下面我们简单介绍一下如何使用jenkins创建一个任务.打开Jenkins web管理界面之后,点击左侧最上方的NewItem图标 便会进入如下界面 产生要输入一个构 ...

随机推荐

  1. .Net 反射的学习

    // 反射 // 一切从 type 开始 2 种拿到 type 的方式 // 作用:动态的操作对象 获取属性 方法 特性 // 1. 拿到对象的 type // typeof(类); // 2. 拿到 ...

  2. kotlin类与对象——>数据类、密封类、泛型

    数据类,用来保存数据的类,使用data对class进行标记 data class User(val name: String, val age: Int) //编译器自动从主构造函数中声明的所有属性导 ...

  3. vue中绘制echarts折线图

    1.安装echartscnpm install echarts --save 2.vue代码 <template> <div> //下面的div给表一个容器 <div i ...

  4. Redhat7重置root管理员密码

    如果要重置Red Hat Enterprise Linux Server release 7.0 的root常见有2种办法(均测试有效) rd.break方法 1.重启Linux系统主机并出现引导界面 ...

  5. awk 处理 Git 提交信息生成 Release Note

    发布软件时通常都会写 Release Note,但每次从头手打也有点累,可以考虑从 Git 的提交历史中自动生成. Git 提交信息一般是三段式结构,段落之间使用空行隔开: <subject&g ...

  6. 借用Ultralytics Yolo快速训练一个物体检测器

    借用Ultralytics Yolo快速训练一个物体检测器 同步发表于 https://www.codebonobo.tech/post/14 大约在16/17年, 深度学习刚刚流行时, Object ...

  7. esp8266+MQTT+DHT11(温湿度计) platformio

    esp8266 + MQTT + DHT11(温湿度计) 连线 #include <Arduino.h> #include <ESP8266WiFi.h> #include & ...

  8. Vue2.x 常用功能和方法

    Vue 生命周期 beforeCreate (组件实例刚被创建,组件属性计算之前,如 data 属性等) created (组件实例创建完成, 属性已绑定,但 DOM 还未生成, $el 属性不存在) ...

  9. nsenter 常用操作

    nsenter 是一个可以用来进入到目标程序说在 namespace 中运行命令的工具,一般可以用于在容器外 debug 容器中运行的程序.简单记录一下 nsenter 的常用用法. 常用参数 最常用 ...

  10. 关于Air780E:与服务器的加密通信操作方法

    ​ 今天我们来学习合宙低功耗4G模组Air780E快速入门之跟服务器之间的加密通信,伙伴们,一起学起来! 一.编写脚本 1.1 准备资料 Air780E开发板购买 Air780E开发板设计资料 Lua ...