一、前言

  上一文章介绍了docker-compose,本文介绍Jenkins自动化部署。

二、Jenkins

dockerfile文件切记右键属性复制到输出目录调整为:如果较新则复制,否则在publish时无法将dockerfile文件发布 //2020-11-5 17:30分增加

拉取Jenkins镜像

docker pull jenkins/blueocean

但是这样是有问题的,因为jenkins的docker版本本身没有dotnetcore的环境,所以我们需要先自己动手制作下包含dotnet环境的jenkins的Docker的Container,

所以我们就先创建一个包含dotnetcore的自定义Jenkins镜像吧,已经有人创建好了,直接使用

docker run -u root --rm -d -p 8080:8080 --name jenkins2 \
-v /usr/bin/docker:/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /home/dockerVolumes2/jenkins_home:/var/jenkins_home \
laozhangisphi/dnt-docker-jenkins

第一行表示启动一个容器名为Jenkins2的对外开放3001端口实例。

第二行表示将宿主机上面的docker命令行工具挂载到容器中,使jenkins用户能够执行docker命令。

第三行表示将宿主机上的docker.sock挂载到容器中的相应位置,使得容器中的dockercli能跟宿主机的docker通信。

第四行表示挂载我们创建的配置文件存放目录到指定的文件夹。

启动好了以后,就可以浏览器里正常的访问{ip}:8080端口了。

我们从页面也能看到,这里为了安全,需要一个超级管理员的密码,地址,就是在我们上边配置的文件夹下的文件里,请注意,这个文件夹是在容器里的,不是在我们的宿主机的,可以使用命令来查看:

在挂载目录下initialAdminPassword文件查看密码

这里首先可以左下角,看到Jenkins的版本,然后中间是两个选项,用来安装插件的,左边是默认常用的一些,右侧的是你可以自定义的一些插件,我们直接点击左侧的即可。

如果在安装插件的过程中,报错了,不用慌,你可以处理好,然后继续再执行一遍的,就算是Retry以后还不行,也可以Continue,安装好后,我们依然可以自定义安装插件:

安装插件后,没有问题,会跳转到用户配置页面,都是必填项。

当然,如果系统管理里有错误,我们可以手动安装和修改:

创建自由风格的软件项目

添加源代码管理

构建触发器 两分钟检测一次代码是否有更新

构建命令

#!/bin/bash -il

dotnet restore
dotnet build
dotnet publish cd /var/jenkins_home/workspace/WebTest/WebApplication2/bin/Debug/netcoreapp3.1/publish/
docker stop webtestcontainer
docker rm webtestcontainer
docker rmi webtest
docker build -t webtest .
docker run --name webtestcontainer -d -p 9000:80 webtest

保存 构建项目

然后就可以看到#18的构建状态变成了蓝色,如果报错是红色的。

如果有错误,你可以在控制台输出上看到内容。

到此jenkins的介绍就结束了,下一篇文章将介绍docker中的nginx代理。

Docker中使用Jenkins(3)的更多相关文章

  1. CentOS7下Docker中构建Jenkins容器

    背景 在CentOS搭建Docker完成后,我们需要在Docker中搭建Jenkins用来实现工程自动部署. 安装前提 jdk已安装,安装目录如:usr/java/jdk1.8.0_161 maven ...

  2. 在docker中运行jenkins实现代码自动发布到测试服务器

    在docker中运行jenkins 用的镜像是apline版:lts-alpine,并设置正确的时区. docker run --name jenkins_master -d \ -p 8081:80 ...

  3. docker中搭建jenkins环境

    想在docker中搭建一个jenkins环境.开始的时候我想在先pull centos,然后在里面自己搭建环境,搭建后的环境可以运行,但是不知道挂载哪的数据,这也是我不熟悉jenkins的原因. 同事 ...

  4. Docker中完成Jenkins的安装

    去年就开始学习采用Docker+Jenkins+.Net Core搭建生成式流水线,一直拖到现在,也没有彻底的好好静下来去总结总结.趁着现在对自己的严格要求下,逐渐开始重视自我总结,以此来巩固逐渐失去 ...

  5. docker中安装Jenkins

    1.获取Jenkins镜像(不要直接docker pull jenkin,这样获取的不是最新的版本,后续安装部分插件会不成功) docker pull jenkins/jenkins 创建文件夹 su ...

  6. 在Docker中自定义Jenkins镜像

    一. 构建Jenkins slave. 1. 构建镜像需要三个步骤: (1) 创建Dockerfile (2) 构建镜像 (3)在master上改变agent的配置 2. 以下是创建一个服务Pytho ...

  7. Selenium4+Python3系列(十三) - 与docker中的jenkins持续集成

    前言 文章更新到这一篇时,其实我还是很开心的,因为这也正是这系列教程的最后一篇文章,也算是完成了一个阶段性的小目标,也很感谢那些愿意看我文章与我交流学习的同学,感谢有你们的支持和陪伴. Jenkins ...

  8. mac通过docker一键部署Jenkins

    目录 mac通过docker一键部署Jenkins 一.前言 二.系统配置 三.安装步骤 Dockerhub查看镜像地址 1.一键安装 1.1.下载脚本 1.2.安装程序 1.2.1.安装程序详情 1 ...

  9. Ubuntu中实现Docker内安装jenkins+jenkins远程触发

    前面做了在ubuntu中安装jenkins+docker实现自动部署,但是得安装jdk8+tomcat8环境,比较麻烦,因此本文记录如何将jenkins直接装在dockers内并且实现远程触发功能. ...

  10. Ubuntu中安装jenkins+docker,实现项目部署

    本人对于linux系统是个小白,恰逢公司新框架需要docker+jenkins部署项目,所以通过同事口述+一顿乱查,终于实现在虚拟机上搭建的ubuntu系统中 实现jenkins +docker 自动 ...

随机推荐

  1. $_GET方法踩坑

    背景 写代码时,遇到一个奇怪的问题:小程序卡券解码接口老是报解码失败,苦寻了一个小时,发现原来是url参数经过thinkphp的I方法被过滤掉,而且涉及到PHP原生的$_GET 原因 I方法底层是原生 ...

  2. 90%的Java开发人员都会犯的5个错误

    前言 作为一名java开发程序员,不知道大家有没有遇到过一些匪夷所思的bug.这些错误通常需要您几个小时才能解决.当你找到它们的时候,你可能会默默地骂自己是个傻瓜.是的,这些可笑的bug基本上都是你忽 ...

  3. python之路47 django路由层配置 虚拟环境

    可视化界面之数据增删改查 针对数据对象主键字段的获取可以使用更加方便的obj.pk获取 在模型类中定义双下str方法可以在数据对象被执行打印操作的时候方便的查看 ''' form表单中能够触发提交动作 ...

  4. Java环境搭载的低级错误

    关于Java环境搭载的问题 在按照狂神的教程在Dos窗口执行了javac hello.java后在执行java hello报错"" 发现路径文件夹内并未生成class文件 检查了环 ...

  5. 线性构造treap

    数据结构 线性构造treap treap的线性构造可以使复杂度锐减到\(O(n)\),很优秀 treap的本质就是小根堆+二叉搜索树,即保证val满足搜索树的同时,维护rad的小根堆. 现在我们先把数 ...

  6. NuxtJS踩坑日记,一步一步爬出我自己挖的坑。

    NuxtJS    2 errors and 2 warnings potentially fixable with the `--fix` option. 第二种报错 Error: No build ...

  7. 生成1-n之间的随机数-猜数字小游戏

    生成1-n之间的随机数 获取随机数 获取1-n之间的随机数,包含n,代码如下: // 导包 import java.util.Random; public class Test01Random { p ...

  8. SQLSERVER 快照隔离级别 到底怎么理解?

    一:背景 1. 讲故事 上一篇写完 SQLSERVER 的四个事务隔离级别到底怎么理解? 之后,有朋友留言问什么时候可以把 snapshot 隔离级别给补上,这篇就来安排,快照隔离级别看起来很魔法,不 ...

  9. Ubuntu下安装cURL库用于libcurl开发

    http://archive.ubuntu.com/ubuntu/pool/main/c/curl/curl_7.22.0.orig.tar.gz 不要问我为什么,根据cURL主页的下载向导给的就是这 ...

  10. 连接KingbaseES异常,致命错误/ 用户"system" Password 认证失败(kbjdbc/autodetected server-encoding to be GB2312...)

    com.kingbase8.util.KSQLException: 致命错误: 用户"system" Password 认证失败(kbjdbc:autodetected serve ...