常规的打包方式:

提交代码
拉去代码并打包:war包和jar包
上传到服务器
关闭当前程序
启动新的jar包
查看新的jar包是否起作用

jenkins自动化流程:

CI(Continuous integration,中文意思是持续集成)是一种软件开发时间。持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试

CD(Continuous Delivery, 中文意思持续交付)是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中

所以CD是在CI的基础上的操作,简单来讲就是持续部署,

jenkins需要的环境是jdk环境+git环境+maven环境去部署java程序:

mac使用brew安装完成之后:brew services start jenkins 启动:

先进行基本的配置先:

配置

配置全局的环境:

maven:

git

jdk:

安装插件

安装ssh插件:publish over ssh

安装maven项目插件:Maven Integration plugin

新建一个maven项目:

编写ssh server相关:

在全局配置里面配置需要登陆的服务器:

可以点击测试一下是否能够链接到服务器。

Remote Directory 上传到的服务器的那个目录下,非常重要,因为要进入到这个目录去执行jar包

执行的命令里面的脚本:

[root@better.qzqlsj.club jenkinsJar]$cat start.sh
#/bin/bash
/usr/bin/java -jar quan-0.0.1-SNAPSHOT.jar &
if [ $? -eq 0 ]
then
echo "done"
else
echo "back"
fi
[root@better.qzqlsj.club jenkinsJar]$cat stop.sh
#!/bin/bash
echo "Stop Procedure : quan-0.0.1-SNAPSHOT.jar"
pid=`ps -ef |grep java|grep quan-0.0.1-SNAPSHOT.jar|awk '{print $2}'`
echo 'old Procedure pid:'$pid
if [ -n "$pid" ]
then
kill -9 $pid
fi

保存,点击构建即可:

Started by user huolala
Running as SYSTEM
Building in workspace /Users/quan/.jenkins/workspace/quan-login-test
using credential bcd9b4e9-9a63-49ad-a57c-485c07864954
> /usr/local/bin/git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
> /usr/local/bin/git config remote.origin.url https://gitlab.huolala.cn/group-arch/quan-monitor.git/ # timeout=10
Fetching upstream changes from https://gitlab.huolala.cn/group-arch/quan-monitor.git/
> /usr/local/bin/git --version # timeout=10
using GIT_ASKPASS to set credentials
> /usr/local/bin/git fetch --tags --progress -- https://gitlab.huolala.cn/group-arch/quan-monitor.git/ +refs/heads/*:refs/remotes/origin/* # timeout=10
> /usr/local/bin/git rev-parse refs/remotes/origin/master^{commit} # timeout=10
> /usr/local/bin/git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
Checking out Revision e1f826aceabbd27307ecd4de965dc166574c03e2 (refs/remotes/origin/master)
> /usr/local/bin/git config core.sparsecheckout # timeout=10
> /usr/local/bin/git checkout -f e1f826aceabbd27307ecd4de965dc166574c03e2 # timeout=10
Commit message: "Update pom.xml"
> /usr/local/bin/git rev-list --no-walk e1f826aceabbd27307ecd4de965dc166574c03e2 # timeout=10
Parsing POMs
Established TCP socket on 62030
[quan-login-test] $ /Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home/bin/java -cp /Users/quan/.jenkins/plugins/maven-plugin/WEB-INF/lib/maven35-agent-1.13.jar:/Users/quan/sotfware/apache-maven-3.6.3/boot/plexus-classworlds-2.6.0.jar:/Users/quan/sotfware/apache-maven-3.6.3/conf/logging jenkins.maven3.agent.Maven35Main /Users/quan/sotfware/apache-maven-3.6.3 /Users/quan/.jenkins/war/WEB-INF/lib/remoting-4.5.jar /Users/quan/.jenkins/plugins/maven-plugin/WEB-INF/lib/maven35-interceptor-1.13.jar /Users/quan/.jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-interceptor-commons-1.13.jar 62030
<===[JENKINS REMOTING CAPACITY]===>channel started
Executing Maven: -B -f /Users/quan/.jenkins/workspace/quan-login-test/pom.xml -s /Users/quan/sotfware/apache-maven-3.6.3/conf/settings.xml -gs /Users/quan/sotfware/apache-maven-3.6.3/conf/settings.xml install
2020-07-31 16:31:14.190 java[40895:478137] imkxpc_getApplicationProperty:reply: called with incorrect property value 4, bailing.
2020-07-31 16:31:14.190 java[40895:478137] Text input context does not respond to _valueForTIProperty:
2020-07-31 16:31:14.191 java[40895:478137] imkxpc_getApplicationProperty:reply: called with incorrect property value 4, bailing.
2020-07-31 16:31:14.191 java[40895:478137] Text input context does not respond to _valueForTIProperty:
[INFO] Scanning for projects...
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.quan.monitor:quan:jar:0.0.1-SNAPSHOT
[WARNING] 'build.plugins.plugin.version' for org.springframework.boot:spring-boot-maven-plugin is missing. @ line 59, column 21
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]
[INFO]
[INFO] -----------------------< com.quan.monitor:quan >------------------------
[INFO] Building quan 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
2020-07-31 16:31:15.704 java[40895:478137] imkxpc_getApplicationProperty:reply: called with incorrect property value 4, bailing.
2020-07-31 16:31:15.705 java[40895:478137] Text input context does not respond to _valueForTIProperty:
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ quan ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ quan ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 2 source files to /Users/quan/.jenkins/workspace/quan-login-test/target/classes
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ quan ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/quan/.jenkins/workspace/quan-login-test/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ quan ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-surefire-plugin:2.7.2:test (default-test) @ quan ---
[INFO] Surefire report directory: /Users/quan/.jenkins/workspace/quan-login-test/target/surefire-reports -------------------------------------------------------
T E S T S
-------------------------------------------------------
There are no tests to run. Results : Tests run: 0, Failures: 0, Errors: 0, Skipped: 0 [JENKINS] Recording test results
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ quan ---
[INFO] Building jar: /Users/quan/.jenkins/workspace/quan-login-test/target/quan-0.0.1-SNAPSHOT.jar
[INFO]
[INFO] --- spring-boot-maven-plugin:2.3.2.RELEASE:repackage (default) @ quan ---
[INFO] Replacing main artifact with repackaged archive
[INFO]
[INFO] --- maven-source-plugin:2.1.2:jar-no-fork (attach-sources) @ quan ---
[INFO] Building jar: /Users/quan/.jenkins/workspace/quan-login-test/target/quan-0.0.1-SNAPSHOT-sources.jar
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ quan ---
[INFO] Installing /Users/quan/.jenkins/workspace/quan-login-test/target/quan-0.0.1-SNAPSHOT.jar to /Users/quan/.m2/repository/com/quan/monitor/quan/0.0.1-SNAPSHOT/quan-0.0.1-SNAPSHOT.jar
[INFO] Installing /Users/quan/.jenkins/workspace/quan-login-test/pom.xml to /Users/quan/.m2/repository/com/quan/monitor/quan/0.0.1-SNAPSHOT/quan-0.0.1-SNAPSHOT.pom
[INFO] Installing /Users/quan/.jenkins/workspace/quan-login-test/target/quan-0.0.1-SNAPSHOT-sources.jar to /Users/quan/.m2/repository/com/quan/monitor/quan/0.0.1-SNAPSHOT/quan-0.0.1-SNAPSHOT-sources.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.416 s
[INFO] Finished at: 2020-07-31T16:31:20+08:00
[INFO] ------------------------------------------------------------------------
Waiting for Jenkins to finish collecting data
[JENKINS] Archiving /Users/quan/.jenkins/workspace/quan-login-test/pom.xml to com.quan.monitor/quan/0.0.1-SNAPSHOT/quan-0.0.1-SNAPSHOT.pom
[JENKINS] Archiving /Users/quan/.jenkins/workspace/quan-login-test/target/quan-0.0.1-SNAPSHOT.jar to com.quan.monitor/quan/0.0.1-SNAPSHOT/quan-0.0.1-SNAPSHOT.jar
[JENKINS] Archiving /Users/quan/.jenkins/workspace/quan-login-test/target/quan-0.0.1-SNAPSHOT-sources.jar to com.quan.monitor/quan/0.0.1-SNAPSHOT/quan-0.0.1-SNAPSHOT-sources.jar
channel stopped
SSH: Connecting from host [quandeMacBook-Pro.local]
SSH: Connecting with configuration [txy-1] ...
SSH: EXEC: STDOUT/STDERR from command [cd /jenkinsJar
./stop.sh
nohup sh start.sh] ...
Stop Procedure : quan-0.0.1-SNAPSHOT.jar
old Procedure pid:22316
nohup: ignoring input and appending output to `nohup.out'
SSH: EXEC: completed after 275 ms
SSH: Disconnecting configuration [txy-1] ...
SSH: Transferred 1 file(s)
Finished: SUCCESS

jenkins-learning的更多相关文章

  1. Web API 持续集成:PostMan+Newman+Jenkins(图文讲解)

    本文由葡萄城技术团队于博客园原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 上篇文章我们已经完成了API测试工具选型,接下来是一系列周期性的开发 ...

  2. Jenkins serving Cake: our recipe for Windows

    https://novemberfive.co/blog/windows-jenkins-cake-tutorial/ Where we started, or: why Cake took the ...

  3. jenkins 自定义主题

    一.概述 jenkins更新后,页面css布局都已改变,我现在用的jenkins.css, ( png图片需自定义) #page-body { background-image:url(http:// ...

  4. SpringBoot集成Swagger,Postman,newman,jenkins自动化测试.

    环境:Spring Boot,Swagger,gradle,Postman,newman,jenkins SpringBoot环境搭建. Swagger简介 Swagger 是一款RESTFUL接口的 ...

  5. MindSpore Graph Learning

    技术背景 MindSpore Graph Learning是一个基于MindSpore的高效易用的图学习框架.得益于MindSpore的图算融合能力,MindSpore Graph Learning能 ...

  6. Jenkins 安装的HTML Publisher Plugin 插件无法展示ant生成的JunitReport报告

    最近在做基于jenkins ant  junit 的测试持续集成,单独ant junit生成的junitreport报告打开正常,使用Jenkins的HTML Publisher Plugin 插件无 ...

  7. 【Machine Learning】KNN算法虹膜图片识别

    K-近邻算法虹膜图片识别实战 作者:白宁超 2017年1月3日18:26:33 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  8. Python-Jenkins API使用 —— 在后端代码中操控Jenkins

    最近在工作中需要用到在后台代码中触发Jenkins任务的构建,于是想到Jenkins是否有一些已经封装好的API类库提供,用于处理跟Jenkins相关的操作.下面就简单介绍下我的发现. Linux C ...

  9. 【Machine Learning】Python开发工具:Anaconda+Sublime

    Python开发工具:Anaconda+Sublime 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现 ...

  10. 【Machine Learning】机器学习及其基础概念简介

    机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

随机推荐

  1. kali linux中ifconfig命令不能使用的解决办法

    1.安装net-tools,因ifconfig属于net-tools,输入命令:   sudo apt-get install net-tools 记住加上sudo哦!4647c21ef50df33a ...

  2. LEETCODE 之写在前面

    不知道能坚持多久,甚至不知道能不能坚持下去. 不知道是先看刷题的笔记好 ,还是直接刷题遇到再说好. 不知道是随机刷的好,还是从头向后这样刷好. 反正,勇敢昌兄,不怕困难.

  3. Vue 源码解读(8)—— 编译器 之 解析(下)

    特殊说明 由于文章篇幅限制,所以将 Vue 源码解读(8)-- 编译器 之 解析 拆成了两篇文章,本篇是对 Vue 源码解读(8)-- 编译器 之 解析(上) 的一个补充,所以在阅读时请同时打开 Vu ...

  4. C#析构函数(方法)

    析构方法是在垃圾回收.释放资源时使用的.析构函数用于析构类的实例.备注:    不能在结构中定义析构函数.只能对类使用析构函数.    一个类只能有一个析构函数.    无法继承或重载析构函数.    ...

  5. idea常用快捷键及配置

    目录 常用快捷键 常用配置 配置修改项 版本2019.1.3,配置.破解插件见网盘 2020.3.4 链接:https://pan.baidu.com/s/1WHsS8-yvHGf1iRopLbKIu ...

  6. Linux常用文件权限命令详解

    pwd pwd命令用于获取当前工作目录的绝对路径. 使用示例: pwd 效果如下图: cd cd命令用于切换工作目录. 使用示例: cd 万猫学社/ 效果如下图: 其中在路径表示时, 一个半角句号(. ...

  7. LeetCode-007-整数反转

    整数反转 题目描述:给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果. 如果反转后整数超过 32 位的有符号整数的范围 [\(−2^{31}\), \(2^{31}\) − ...

  8. js数组用法

    去面试的时候问到我一个问题,你能说出来多少种数组的方法跟用法,我当时只说出来十一个,回来以后才想起来还有很多种,现在整理一下,没有排名,想起那个写那个 1:forEach 从头遍历数组,没有返回值,有 ...

  9. JVM垃圾回收阅读笔记

    Java内存运行时区域的各个部分,其中程序计数器.虚拟机栈.本地方法栈3个区域随线程而生,随线程而灭,栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作. 每一个栈帧中分配多少内存基本上是 ...

  10. 那些年踩过的坑---java篇

    事务 Transaction rolled back because it has been marked as rollback-only 问题描述:项目使用的是springboot,在代码中未使用 ...