很简单,一步步执行即可。
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
yum install -y yum-utils
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#docker-ce表示社区版 ee表示企业版 ,这里我们安装社区版
yum install docker-ce docker-ce-cli containerd.io
systemctl start docker
最后通过docker version 查看docker版本信息,看的到说明操作成功了。
Jenkins官网:https://www.jenkins.io/zh/
有了Docker之后,安装一切都是一条命令的事儿~
docker run --name jenkins -u root --rm -d -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock jenkinsci/blueocean
注意:如果服务器8080端口被占用了,可以选择换个端口
然后我们访问一下Jenkins:http:${自己部署Jenkins的服务器的地址}:8080,可能需要等待几分钟

然后,我们就可以看到Jenkins了,现在需要对Jenkins进行解锁。
可以通过docker ps 查看到Jenkins的容器Id
# 进入Jenkins
docker exec -it ${容器ID} /bin/bash
#查看密码
cat /var/jenkins_home/secrets/initialAdminPassword

我们将密码输入到刚刚访问的Jenkins页面,点击继续后可能要等待几分钟。
选择第一项“安装推荐插件”即可

创建管理账户,这个账户一定要自己记得哦~

于是,我们都设置完后就可以登录进Jenkins了。

进入【首页】–【系统管理】–【插件管理】–【可选插件】。搜索以下需要安装的插件,点击安装即可。

一共需要安装三个插件,步骤都一样
进入【首页】–【系统管理】–【全局工具配置】,拉到页面最下方 maven–maven 安装。

回到首页点击新建任务,输入一个任务名称,然后点击构建一个自由风格的软件项目

首先我们在gitee中拿到仓库的地址


接下来我们添加凭证 先点击添加



这里只需要输入一条命令,这里只是输入一条命令看是否能成功而已,之后还会添加命令让项目跑起来
clean install -Dmaven.test.skip=true
最后点击保存

有时候可能会构建失败,我们可以查看日志 知道出错的原因。

点击后再点击查看控制台

cd /var/jenkins_home/workspace
ls

即可看到打完的jar包。
我们运行项目的步骤是,通过Dockerfile构建docker镜像,然后在执行镜像即可。
在SpringBoot项目根目录下创建一个名为Dockerfile(没有后缀)的文件。
FROM openjdk:8
ADD target/one-demo-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 6379
ENTRYPOINT java -jar /app.jar

这里需要懂点Docker的知识,不懂也没关系,照着做就行。
点击之前创建好的任务

再点击配置

再回到之前配置触发器的地方

添加命令如下:
cd /var/jenkins_home/workspace/one-demo
docker stop one-demo || true
docker rm one-demo || true
docker rmi one-demo || true
docker build -t one-demo .
docker run -d -p 6379:6379 --name one-demo one-demo:latest
备注:
先使用docker ps看自己构建的镜像是否跑起来了。

然后我们的SpringBoot项目中有一个测试接口

我可以在浏览器中访问一下这个接口、完美运行。

这样,我们以后本地的代码修改后只需要提交至git,然后到Jenkins中点击构建即可重新部署项目。非常方便有木有!!!

1、点击项目再点击配置


2、配置“参数化构建”


3、测试
每次点击构建时即可动态的选择git分支

恭喜你,完结撒花,就是这么简单。
生活明朗,万物可爱,人间值得,未来可期!!!
很好奇,就使用rubyonrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提
我收到这个错误:RuntimeError(自动加载常量Apps时检测到循环依赖当我使用多线程时。下面是我的代码。为什么会这样?我尝试多线程的原因是因为我正在编写一个HTML抓取应用程序。对Nokogiri::HTML(open())的调用是一个同步阻塞调用,需要1秒才能返回,我有100,000多个页面要访问,所以我试图运行多个线程来解决这个问题。有更好的方法吗?classToolsController0)app.website=array.join(',')putsapp.websiteelseapp.website="NONE"endapp.saveapps=Apps.order("
有没有办法在这个简单的get方法中添加超时选项?我正在使用法拉第3.3。Faraday.get(url)四处寻找,我只能先发起连接后应用超时选项,然后应用超时选项。或者有什么简单的方法?这就是我现在正在做的:conn=Faraday.newresponse=conn.getdo|req|req.urlurlreq.options.timeout=2#2secondsend 最佳答案 试试这个:conn=Faraday.newdo|conn|conn.options.timeout=20endresponse=conn.get(url
我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b
我意识到这可能是一个非常基本的问题,但我现在已经花了几天时间回过头来解决这个问题,但出于某种原因,Google就是没有帮助我。(我认为部分问题在于我是一个初学者,我不知道该问什么......)我也看过O'Reilly的RubyCookbook和RailsAPI,但我仍然停留在这个问题上.我找到了一些关于多态关系的信息,但它似乎不是我需要的(尽管如果我错了请告诉我)。我正在尝试调整MichaelHartl'stutorial创建一个包含用户、文章和评论的博客应用程序(不使用脚手架)。我希望评论既属于用户又属于文章。我的主要问题是:我不知道如何将当前文章的ID放入评论Controller。
我的工作要求我为某些测试自动生成电子邮件。我一直在四处寻找,但未能找到可以快速实现的合理解决方案。它需要在outlook而不是其他邮件服务器中,因为我们有一些奇怪的身份验证规则,我们需要保存草稿而不是仅仅发送邮件的选项。显然win32ole可以做到这一点,但我找不到任何相当简单的例子。 最佳答案 假设存储了Outlook凭据并且您设置为自动登录到Outlook,WIN32OLE可以很好地完成此操作:require'win32ole'outlook=WIN32OLE.new('Outlook.Application')message=
我们目前正在为ROR3.2开发自定义cms引擎。在这个过程中,我们希望成为我们的rails应用程序中的一等公民的几个类类型起源,这意味着它们应该驻留在应用程序的app文件夹下,它是插件。目前我们有以下类型:数据源数据类型查看我在app文件夹下创建了多个目录来保存这些:应用/数据源应用/数据类型应用/View更多类型将随之而来,我有点担心应用程序文件夹被这么多目录污染。因此,我想将它们移动到一个子目录/模块中,该子目录/模块包含cms定义的所有类型。所有类都应位于MyCms命名空间内,目录布局应如下所示:应用程序/my_cms/data_source应用程序/my_cms/data_ty
1.错误信息:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders)或者:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:TLShandshaketimeout2.报错原因:docker使用的镜像网址默认为国外,下载容易超时,需要修改成国内镜像地址(首先阿里
//1.验证返回状态码是否是200pm.test("Statuscodeis200",function(){pm.response.to.have.status(200);});//2.验证返回body内是否含有某个值pm.test("Bodymatchesstring",function(){pm.expect(pm.response.text()).to.include("string_you_want_to_search");});//3.验证某个返回值是否是100pm.test("Yourtestname",function(){varjsonData=pm.response.json
我从Ubuntu服务器上的RVM转移到rbenv。当我使用RVM时,使用bundle没有问题。转移到rbenv后,我在Jenkins的执行shell中收到“找不到命令”错误。我内爆并删除了RVM,并从~/.bashrc'中删除了所有与RVM相关的行。使用后我仍然收到此错误:rvmimploderm~/.rvm-rfrm~/.rvmrcgeminstallbundlerecho'exportPATH="$HOME/.rbenv/bin:$PATH"'>>~/.bashrcecho'eval"$(rbenvinit-)"'>>~/.bashrc.~/.bashrcrbenvversions