Docker中安装Jenkins实时发布.net core 项目(二)

11 篇文章 1 订阅
7 篇文章 0 订阅

防坑点

升级docker

首先我们要确认我们在liunx安装的不是1.31.1的docker容器不然在后面的运行中会报错

can not open /etc/sysconfig/docker

在这里插入图片描述
如果你是liunx下通过yum安装的docker并且版本为1.31.1
请先按照下述步骤升级docker至1.80以上版本再运行实例(此步骤不会删除容器和镜像放心升级)

//停止docker服务
service docker stop

//查询已经安装的docker实例
yum list installed | grep docker

//卸载安装实例
yum remove docker.x86_64

//卸载安装实例
yum remove docker-client.x86_64

//卸载安装实例
yum remove docker-common.x86_64

卸载
卸载完成后执行

使用curl安装最新版
curl -fsSL https://get.docker.com/ | sh

重启Docker
systemctl restart docker

设置Docker开机自启
systemctl enable docker

我们查看版本已经是最新的2.0了
2.0docker

jenkins运行

运行命令

这里我们可以开始jenkins构建了

我们首先执行命令:

docker run -u root --rm -d -p 8080:8080 --name dotnetjenkins2 \
-v /usr/bin/docker:/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /etc/sysconfig/docker:/etc/sysconfig/docker \
-v /home/dockerVolumes2/jenkins_home:/var/jenkins_home \
xsw2014/net-jenkins:1.0
这句话第一行意思是用8080映射docker里面8080端口如果你想外网访问的时候用5050那么就修改为
5050:8080

第二至第四行的意思是docker内部可以调用外部docker来进行打包,这是什么意思呢
应为jenkins实在docker容器内那么容器内是没法再使用docker命令打包的这个时候我们需要
第二至第四行的语句实现内部调用docker了

第五行的意思为将本地的/home/dockerVolumes2/jenkins_home映射到/var/jenkins_home 
如果你后面dotnet publish了需要打包后的文件就可以到本地的/home/dockerVolumes2/jenkins_home查看了

第六行是使用xsw2014/net-jenkins:1.0这个镜像如果你的不是这个镜像或者前面你按照你自己的构建的请将这里换成自己的

运行后我们可以进入容器内部查看sdk和docker git都可以 运行的
dotnet

jenkins拉取git并构建项目

我们选择一个自由风格的软件项目来构建
新建项目
我们选择git并在下面add输入登录账号和密码

测试源码地址:

https://gitee.com/ntr1996/dockertest.git

git
jenkinsgit
在最下面选择执行shell命令构建
执行shell
shell

命令如下


dotnet restore
dotnet build 
dotnet publish 
echo "Successfully!!!! ^ please see the file ."
pwd

#docker stop helloworldcontainer
#docker rm helloworldcontainer
#docker rmi hello-world
docker build -t hello-world .
docker run --name helloworldcontainer -p 5000:80 -d hello-world
其中
dotnet restore 重新生成项目
dotnet build  重新构建项目
dotnet publish  打包项目
echo "Successfully!!!! ^ please see the file ." 打包成功输出Successfully
pwd  输出当前所在文件夹位置

#docker stop helloworldcontainer  停止容器 第一次请注释第二次放开注释
#docker rm helloworldcontainer    删除容器 第一次请注释第二次放开注释
#docker rmi hello-world                 删除镜像 第一次请注释第二次放开注释

docker build -t hello-world .     通过dodckerfile打包镜像注意最后有一个英文的小点
docker run --name helloworldcontainer -p 5000:80 -d hello-world  运行容器

然后我们点击build now 就开始构建了
构建开始

构件中

构建成功

最后我们通过网址访问

http://114.117.168.70:5000/weatherforecast

docker打包成功

其他

查看发布文件

有时候我们需要发布后的文件那肿么办呢
我们可以按下面来找到发布文件

docker run -u root --rm -d -p 8080:8080 --name dotnetjenkins2 \
-v /usr/bin/docker:/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /etc/sysconfig/docker:/etc/sysconfig/docker \
-v /home/dockerVolumes2/jenkins_home:/var/jenkins_home \
xsw2014/net-jenkins:1.0

因为我们上述启动命令为-v /home/dockerVolumes2/jenkins_home:/var/jenkins_home
我们进入到 /home/dockerVolumes2/jenkins_home

cd /home/dockerVolumes2/jenkins_home
再进入workspace
cd workspace

dotnettest
进入和我们jenkins创建同名的文件夹下

cd /dotnettest/dockertest/bin/Debug/netcoreapp3.1/publish

如果你先打包的时候都压缩成一个压缩包可以在上述内容中添加一条压缩命令这里我就不写了
源码

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值