使用Jenkins 安装和自动化部署项目
安装 jenkins
安装方法可以使用war 安装 或者服务安装。我这里使用 rpm 安装
第一步: 我们使用的 centos ,选着这个,直接 下载传到服务器上。或者 复制下载链接 到 服务器上 wget 下载。
2 第二步 下载 : wget https://prodjenkinsreleases.blob.core.windows.net/redhat-stable/jenkins-2.150.1-1.1.noarch.rpm
完成后 当前目录会有 jenkins 的 rpm 包
3 第三步 ,安装这个 rpm -ivh jenkins-2.150.1-1.1.noarch.rpm
备注: 配置端口的文件在 :/etc/sysconfig/jenkins 默认端口是 8080
安装后如果无法启动,需要安装jdk,并且可能需要在 vi /etc/init.d/jenkins 里面加上java路径
启动:service jenkins start;
4 范围 ip:8080 ,需要输入 超管密码 ,超管密码在:初始密码在:/var/lib/jenkins/secrets/initialAdminPassword
5 输入以后就是选择安装插件 我们选择 推荐安装 。
6 安装完成以后,可以配置密码,然后配置端口
7 等待完成
8 完成
备注: jenkins 默认会杀死 当前 job 的线程。 所以 在使用 jenkins 启动jar的时候 要制定不杀死线程。
BUILD_ID=dontKillMe nohup java -jar hsb-manage-backend-test.jar &
附带 jenkins 启动jar的 脚本:
cp -f /var/lib/jenkins/workspace/test/backend/target/hsb-manage-backend-test.jar /soft
cp -f /var/lib/jenkins/workspace/test/front/target/hsb-manage-front-test.jar /soft cd /soft bpid=$(ps -ef|grep hsb-manage-backend-test.jar|grep -v grep |awk '{print $2}')
fpid=$(ps -ef|grep hsb-manage-front-test.jar|grep -v grep |awk '{print $2}') if [ -n $bpid ];
then
kill - $bpid
else
echo "没有b"
fi if [ -n $fpid ];
then
kill - $fpid
else "没有f" fi BUILD_ID=dontKillMe nohup java -jar hsb-manage-backend-test.jar &
BUILD_ID=dontKillMe nohup java -jar hsb-manage-front-test.jar &
如果 不在同一台机子上 ssh 免密登录过去,scp 过去启动。
使用 Jenkins 配置一个项目:
1 首先 安装 jdk maven git ,并且 系统管理 --> 全局工具配置 页面 配置
2 创建一个任务
输入名字,一般我们选着maven 项目, 也可以 流水线(可以显示 Jenkins 自动部署过程 )
3
4 打包是maven 命令 和 pom 文件的位置
5 完成打包以后 复制jar文件到指定位置,并且找到 进程ID ,并且杀死它,然后启动 jar 包。
6 值得注意的是 参数化构建过程 ,这个 如果永科 git paramter 插件 可以 在构建的时候弹出一个框 ,选着一个 分支,或者 tagert ,并且以此为基础 构建 项目。 不配这个默认就是用的最新代码构建。
7 选中一个 任务 ,进去
8 构建 项目 ,配置了参数化 构建以后,这个就变成 paramter build 了。
9 构建中 ,并且 查看构建日志
备注: 添加 私钥 累心 凭证,值得注意的 是 不支持 putty 的 私钥格式。
备注2 :添加插件
使用Jenkins 安装和自动化部署项目的更多相关文章
- docker | jenkins 实现自动化部署项目,后端躺着把运维的钱挣了!(上)
前言 背景 最近在帮学校导师写项目,团队有4个人,项目前后端分离.如果是选择瀑布式开发:(在约定好接口的情况下)A.B同学写前端,C.D同学写后端,然后约定一个时间统一联调,最后将项目交付安装到客户机 ...
- jenkins自动化部署项目2 --插件的选择和安装
一.安装插件: 我选择的安装建议的插件,也可以自定义安装自己想要的插件,在不敢保证自己确定要用的插件是完全正确的情况下建议按推荐安装 我理解的jenkins+tomcat完成自动化部署maven项目需 ...
- jenkins自动化部署项目1--下载安装启动(windows)
年初以来断断续续研究jenkins自动化部署项目,前些天终于搞定了,接下来一点点把做的时候遇到的坑以及自己的心得写下来,方便以后复用. 我的jenkins服务是是部署在windows上的 一.下载安装 ...
- jenkins+git+maven搭建自动化部署项目环境
简介 折腾了两个晚上,趁着今晚比较有空,把jenkins+git+maven搭建自动化部署项目环境搭建的过程记录一下,这里我把github作为git的远程仓库(https://github.co ...
- Linux-GitLab+Jenkins持续集成+自动化部署
GitLab+Jenkins持续集成+自动化部署 什么是持续集成? (1)Continuous integration (CI) 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个 ...
- Jenkins+Gitlab+Ansible自动化部署(三)
接Jenkins+Gitlab+Ansible自动化部署(一)https://www.cnblogs.com/zd520pyx1314/p/10210727.html 和(二)https://www. ...
- jenkins安装和简单部署
jenkins安装和简单部署 jenkins历史 jenkins是一款非常好用的团队CI(Continuous Integration)工具.它可以使你的构建,集成,发布,开发流程自动化.减轻各个环节 ...
- Windows+.Net Framework+svn+IIS在Jenkins上的自动化部署入门
关于Jenkins的使用及安装,上一篇文章我已经介绍过了,Windows+.NetCore+git+IIS在Jenkins上的自动化部署入门.这篇主要是在jenkins如何安装SVN和MSBuild. ...
- Jenkins CI&CD 自动化发布项目实战(下篇)
Jenkins CI&CD 自动化发布项目实战(下篇) 作者 刘畅 时间 2020-12-04 实验环境 centos7.5 主机名 ip 服务配置 软件 gitlab 172.16.1.71 ...
随机推荐
- Gym - 100971J (思维+简单bfs)
题目链接:http://codeforces.com/gym/100971/problem/J J. Robots at Warehouse time limit per test 2.0 s mem ...
- uwsgi理解
uwsgi uWSGI 是一个 Web 服务器,它实现了 WSGI 协议.uwsgi.http 等协议.Nginx 中HttpUwsgiModule 的作用是与 uWSGI 服务器进行交换.WSGI ...
- Python 数据处理库 pandas 入门教程
Python 数据处理库 pandas 入门教程2018/04/17 · 工具与框架 · Pandas, Python 原文出处: 强波的技术博客 pandas是一个Python语言的软件包,在我们使 ...
- 利用python将数据转存入sqlite3
案例的目标是将存在文件中的json格式数据转存到sqlite数据库中.因此,需要利用python逐行读取json文件中数据,对数据进行解析和入库.具体操作步骤如下: 1.逐行读取json文件 for ...
- API/SPI可扩展设计原则(转)
API/SPI可扩展设计原则 博客分类: [设计体系]架构模式 API/SPISPISPI原则JAVA SPISPI机制 写本篇主要是用来后面写一篇可扩展性软件设计打好基础(苦于找不到一篇关于API ...
- java中高级
面试问题: 一.Java基础方面: 1.Java面相对象的思想的理解(主要是多态): http://blog.csdn.net/zhaojw_420/article/details/70477636 ...
- SQL注入之Sqli-labs系列第二十关(基于头部的cookie POST报错注入)
开始挑战第十八关(Cookie Injection-Error Based- string) 前言: 通常开发人员在开发过程中会特别注意到防止恶意用户进行恶意的注入操作,因此会对传入的参数进行适当的过 ...
- JavaScript BOM-11-BOM的核心-window对象; window对象的控制,弹出窗口方法; 超时调用; 间歇调用; location对象常用属性; 位置操作--location.reaplace,location.reload(); BOM中的history对象; Screen对象及其常用属性; Navigator对象;
JavaScript BOM 学习目标 1.掌握什么是BOM 2.掌握BOM的核心-window对象 3.掌握window对象的控制.弹出窗口方法 什么是bom BOM(browser object ...
- poj 2175 费用流消圈
题意抽象出来就是给了一个费用流的残存网络,判断该方案是不是最优方案,如果不是,还要求给出一个更优方案. 在给定残存网络上检查是否存在负环即可判断是否最优. 沿负环增广一轮即可得到更优方案. 考虑到制作 ...
- MySQL篇,第二章:数据库知识2
MySQL 数据库 2 名词介绍 1.DB(Database) DB就是数据库,存储数据的仓库 2.DBMS(Database Management System) 数据库管理系统 管理数据库的软件, ...