dubbo循序渐进 - Jenkins自动化部署
最新版安装
docker pull jenkinsci/jenkins
sudo chown -R 1000:1000 ~/jenkins
docker run -d -p : -m 1024m -v ~/jenkins:/var/jenkins_home --name jenkins --restart=always jenkinsci/jenkins docker logs -f jenkins
访问服务
我的LINUX电脑IP是192.168.119.155,在浏览器输入http://192.168.119.155:8002,即可访问到jenkins的服务,由于密码还没有设置,将会看到下图信息:
页面提示密码文件的位置:/var/jenkins_home/secrets/initialAdminPassword,由于我们已经将/var/jenkins_home目录映射到本机的/usr/local/work/jenkins目录,所以密码文件在当前电脑的位置是:/usr/local/work/jenkins/secrets/initialAdminPassword;
打开此文件后发现只有一行内容,复制后粘贴到页面唯一的输入框中,再点击右下角的”Continue”按钮;
在等待页面停留数十秒后,出现以下页面,左边按钮是直接安装推荐的插件配置,右边按钮是自己选择所需的插件,这里我们点击左边按钮,把推荐的插件装了:
如下图,jenkins开始逐个安装插件:
如下图,提示创建一个管理员,填写完相关信息并提交,就可以使用jenkins服务了:
安装maven
点击“系统管理” -> “Global Tool Configuration”,如下图:
新建一个maven,填写完毕后点击底部的”Apply”再点击“保存”,记得勾选“自动安装”,如下图:
安装mave插件
点击“系统管理” -> 管理插件”,如下图:
选中第二个tab”可选插件”,在右上角输入框中输入“Maven Integration plugin”,页面上就会显示出”Maven Integration plugin”这个插件,勾选后点击下面的“直接安装”按钮,即可安装maven插件,如下图:
配置SSH登录github
后面的实战中,我们会将代码放到github上,所以此处要做ssh登录的配置,假设您在git上的注册邮箱是”abcdef@gmail.com”,账号是”abcdef”,您需要执行以下步骤:
- 在控制台执行以下命令登录到jenkins容器:
docker exec -it j01 /bin/bash
- 登录到容器后,执行以下命令产生SSH证书:
ssh-keygen -t rsa -C "abcdef@gmail.com"
会出现几个询问,直接按回车键继续;
- 执行以下命令配置全局用户信息的账号:
git config --global user.name "abcdef"
- 执行以下命令配置全局用户信息的邮箱:
git config --global user.email abcdef@gmail.com
- 公钥被存储到以下位置,打开复制所有内容,然后登录git,添加到SSH keys中:
/var/jenkins_home/.ssh/id_rsa.pub
至此,git配置就完成了,接下来我们创建一个任务,来试试项目项目构建的功能;
git项目
为了体验jenkins自动拉取代码和构建项目,我在git上准备了一个spring boot的web工程,内容很简单只有一个controller,地址是:git@github.com:zq2599/jenkinsdemo.git
构建maven项目
回到主页,新建一个任务,选择”构建一个maven项目”,如下图:
新的页面中,“源码管理”位置选择”Git”,在”Repository URL”位置输入工程地址”git@github.com:zq2599/jenkinsdemo.git”,再点击“Add”按钮,选择”Jenkins”,如下图:
在弹出的页面中输入git登录的信息,注意选择SSH登录,用户名要用生成SSK KEY的时候的参数,如下图:
配置完成后,依次点击最下面的”Apply”和”保存”两个按钮,完成存档并退出编辑页面;
构建
如下图红框所示,在任务列表页面,点击任务名称,进入任务详情页:
在任务详情页,如下图红框所示,点击“立即构建”:
此时项目就开始构建了,如果想看清楚具体的执行情况,可以点击下图中的红框位置,会跳转到控制台信息输出的页面:
如果git配置正确,并且web工程本身可以编译成功,那么会看到控制台页面提示的构建成功信息,如下图:
验证构建结果
为了验证构建结果,我们可以去把编译jar包下载下载试试,下载地址如下图所示:
点击target文件夹后,可以看到构建好的文件:mavendockerplugindemo-0.0.1-SNAPSHOT.jar,点击这个文件即可通过浏览器下载到本地;
本地打开控制台,进入mavendockerplugindemo-0.0.1-SNAPSHOT.jar文件所在的目录,执行以下命令即可启动这个spring boot的web工程,端口号为8081:
java -jar mavendockerplugindemo-0.0.1-SNAPSHOT.jar --server.port=8081
- 1
可以看到熟悉的springboot启动信息,如下图:
在浏览器输入:localhost:8081,可以正常访问此web服务,如下图:
补充docker命令
列出无用的卷
docker volume ls -qf dangling=true
清理无用的卷,容器,镜像
docker volume rm $(docker volume ls -qf dangling=true)
dubbo循序渐进 - Jenkins自动化部署的更多相关文章
- Linux下的Jenkins+Tomcat+Maven+Gitlab+Shell环境的搭建使用(jenkins自动化部署)
jenkins自动化部署 目标:jenkins上点构建(也可以自动检查代码变化自动构建)>>>项目部署完成. 一.安装jenkins 1.下载jenkins 这里我选择的是war包安 ...
- Linux下的Jenkins+Tomcat+Maven+Git+Shell环境的搭建使用(jenkins自动化部署)【转】
jenkins自动化部署 目标:jenkins上点构建(也可以自动检查代码变化自动构建)>>>项目部署完成. 一.安装jenkins 1.下载jenkins 这里我选择的是war包安 ...
- Jenkins自动化部署代码
通过jenkins自动化部署项目代码可以大幅度节省打包上传部署的时间,提高开发测试的工作效率 ========== 完美的分割线 =========== 1.Jenkins是什么 1)Jenkins是 ...
- Linux下的Jenkins+Tomcat+Maven+Git+Shell环境的搭建使用(jenkins自动化部署)
jenkins自动化部署 目标:jenkins上点构建(也可以自动检查代码变化自动构建)>>>项目部署完成. 一.安装jenkins 1.下载jenkins 这里我选择的是war包安 ...
- AspNetCore容器化(Docker)部署(四) —— Jenkins自动化部署
一.前言 (Jenkins.Docker.Git/Svn组建一套简单的自动化发布流程) 文章中用到的相关服务器角色 角色 环境 功能 开发机 Win10.Docker(Linux OS) 编码.调试 ...
- jenkins自动化部署项目1--下载安装启动(windows)
年初以来断断续续研究jenkins自动化部署项目,前些天终于搞定了,接下来一点点把做的时候遇到的坑以及自己的心得写下来,方便以后复用. 我的jenkins服务是是部署在windows上的 一.下载安装 ...
- Jenkins自动化部署入门详细教程
大纲 1.背景 在实际开发中,我们经常要一边开发一边测试,当然这里说的测试并不是程序员对自己代码的单元测试,而是同组程序员将代码提交后,由测试人员测试: 或者前后端分离后,经常会修改接口,然后重新部署 ...
- Windows环境下实现Jenkins自动化部署
详见:https://blog.csdn.net/Try_harder_every_day/article/details/79170065 Jenkins自动化部署: 几条具体的思路:1.开发人员将 ...
- Jenkins 自动化部署上线
转载于互联网 jenkins自动化部署项目,通过jenkins 部署来节省运维时间,不需要手动cp上线及版本发布 Jenkins 自动化部署上线 Jenkins Jenkins 自动化部署上线一.Je ...
随机推荐
- debug模式不报错,release模式报错
经常会 char * pMem = new char[icount]; 其中icount为变量,然后对该内存段猛的操作.release编译出来,出现莫名奇妙的错误.但是debug没问题. 后面查了别人 ...
- postgres9.5.3升级postgres11.6
附上postgres下载地址: https://yum.postgresql.org/11/redhat/rhel-7-x86_64/repoview/postgresqldbserver11.gro ...
- 微信公众平台iPhone版内测开始了
5月9日晚些时候自媒体人收到了微信公众平台iPhone版的内测邀请,微信公众平台iPhone版可在手机上写图文,快速查看并回复粉丝消息.留言和赞赏,新建群发.查看群发历史和今日数据,这些功能很实用了, ...
- chromedriver对应chrome版本
chromedriver版本 支持的Chrome版本 v2.41 v67-69 v2.40 v66-68 v2.39 v66-68 v2.38 v65-67 v2.37 v64-66 v2.36 v6 ...
- centos virtualbox虚拟机无法连接外网
各种方法都试了,不好使. 最后重启了很多次,最后一次成功了... ----详情---- 发生的原因是因为突然断电导致的异常. 先通过systemctl restart network 来启动,结果报错 ...
- LeetCode 1094. Car Pooling
原题链接在这里:https://leetcode.com/problems/car-pooling/ 题目: You are driving a vehicle that has capacity e ...
- flask静态文件
Flask 静态文件 Web应用程序通常需要静态文件,例如javascript文件或支持网页显示的CSS文件.通常,配置Web服务器并为您提供这些服务,但在开发过程中,这些文件是从您的包或模块旁边的s ...
- axios post方式请求x-ww格式的数据
//使用axios时,要确定是json格式还是x-www格式的,axios默认是json格式的,如果是x-ww格式需要做如下配置: let url = "/hehe/site/getcomm ...
- cocos:C++ 导出到lua, genbindings.py修改
cocos:C++ 导出到lua, genbindings.py修改 1. 准备 把tools目录下的cocos2dx_extension.ini, genbindings.py, userconf. ...
- 20165214 2018-2019-2 《网络对抗技术》Exp9 Web安全基础 Week13
<网络对抗技术>Exp9 Web安全基础 Week13 一.实验目标与内容 1.实践内容 (1).本实践的目标理解常用网络攻击技术的基本原理,做不少于7个题目.包括(SQL,XSS,CSR ...