在windows下使用jenkins部署docker容器
在windows下使用jenkins部署docker容器
最近在学习jenkins,docker部署来实现集成部署,所以想在windows下面实现测试,但是发现在windows下docker支持不是很好,docker一般在linux下面支持很好,但是经过很多问题的解决,最终还是在windows上部署成功,并且达到了自己想要的效果。
- 想要达到的持续集成的组成构建

- 关键点
1.github与本地jenkins怎么建立钩子关系:
可以使用使用内网穿透工具NATAPP:
可以自己注册免费的穿透地址,并且在本地客户端使用随机的authtoken生成免费域名。


这样,在你的github项目里面,设置钩子的域名就需要用到它。
2.在windows上安装jenkins:
1.在官网https://github.com/boot2docker/windows-installer/releases下载最新版本的jenkins,下载完后,一路安装下一步,就在桌面创建了2个东西:Oracle VM VirtualBox和Boot2Docker。
3.配置jenkins:
在这里就不多说了,网上一大堆,当在页面上完成了配置,那么就可以使用jenkins的配置脚本完成自动构建:
pipeline{
agent any
//定义仓库地址
environment {
REPOSITORY="https://github.com/xxxx.git"
}
stages {
// stage('获取代码'){
// steps {
// echo "start fetch code from git:${REPOSITORY}"
// //清空当前目录
// deleteDir()
// //拉去代码
// git "${REPOSITORY}"
// }
// }
// stage('代码静态检查'){
// steps {
// //伪代码检查
// echo "start code check"
// }
// }
// stage('编译+单元测试'){
// steps {
// echo "start compile"
// //切换目录
// //重新打包
// bat 'mvn -Dmaven.test.skip=true -U clean install'
// }
// }
stage('构建镜像'){
steps {
echo "start build image"
//build镜像
bat 'D:/Docker/docker.exe build -t cdcxh:1.0 .'
}
}
stage('启动服务'){
steps {
echo "start docker"
//重启服务
bat 'D:/Docker/docker.exe run -p 8010:8080 -d cdcxh:1.0'
}
}
}
}
4.在jenkins里面使用docker需要注意几点:
要在jenkins里面配置几个全局变量:如果不设置会报错,不然windows没办法连接到VirtualBox
这样就完成了一个最简单的自动构建集成,其中省略了很多步骤,都可以在百度上面找到,就不多说了。
在windows下使用jenkins部署docker容器的更多相关文章
- 【linxu】部署docker容器虚拟化平台
实验所涉内容 Docker 概述 部署 docker 容器虚拟化平台 docker 平台基本使用方法 创建docker镜像和发布镜像方法 Container 容器端口映射 一 Docker 概述 Do ...
- Linux高级运维 第八章 部署docker容器虚拟化平台
8.1 Docker概述 实验环境: CENTOS7.4-63 64位 Dcoker概述 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到 ...
- Jenkins(Docker容器内)使用宿主机的docker命令
1.Jenkins镜像 Docker容器内的Jenkins使用容器外宿主机的Docker(即DooD,还有另外的情况就是DioD),google一下有几种说法,但是都没试成功(试过一种就是修改宿主机/ ...
- Jenkins持续集成(上)-Windows下安装Jenkins
环境:Windows 2008 R2.Jenkins2.235.1: 概要 前面写过一篇文章,<自动发布-asp.net自动发布.IIS站点自动发布(集成SLB.配置管理.Jenkins)> ...
- Jenkins持续集成(下)-Jenkins部署Asp.Net网站自动发布
环境:Windows 2008 R2.Jenkins2.235.1.Visual Studio 2017: 概要 前面写过一篇文章,<自动发布-asp.net自动发布.IIS站点自动发布(集成S ...
- RabbitMQ消息队列系列教程(二)Windows下安装和部署RabbitMQ
摘要 本篇经验将和大家介绍Windows下安装和部署RabbitMQ消息队列服务器,希望对大家的工作和学习有所帮助! 目录 一.Erlang语言环境的搭建 二.RabbitMQ服务环境的搭建 三.Ra ...
- 记录Linux CentOS 7系统完整部署Docker容器环境教程
笔者之前有在"详细介绍Ubuntu 16.04系统环境安装Docker CE容器的过程"文章中有介绍到利用Ubuntu系统安装Docker容器环境的过程.如果我们有使用CentOS ...
- Windows下 安装Jenkins 并发布至docker 实战
网上的教程基本都是Linux系统下安装Jenkins,并且发布到Linux系统下的docker中, 于是打算在全部windows的环境中,完成Jenkins的持续集成功能. 环境: 服务器环境: wi ...
- docker在windows下上传文件到容器
我的系统是windows10,docker是用DockerToolbox工具安装的,安装完之后会默认挂载Windows的C:/Users目录,在docker里面对应路径是/c/Users,docker ...
随机推荐
- dp练习--
动态规划(DP)算法 动态规划是运筹学的一个分支,是求解决策过程最优化的数学方法.利用各个阶段之间的关系,逐个求解,最终求得全局最优解,需要确认原问题与子问题.动态规划状态.边界状态.边界状态 ...
- photo型的object转byte[]
IEnumerable en = (IEnumerable) myObject; byte[] myBytes = en.OfType<byte>().ToArray(); TypeCon ...
- java.lang.Byte 类源码浅析
Byte 类字节,属于Number. public final class Byte extends Number implements Comparable<Byte> { /** * ...
- Python课程第四天作业
1.定义一个函数,该函数可以实现控制台输入,最终返回一个int类型的正整数 def chr_to_int(): user_input = input('请输您要转换的字符串:') if user_in ...
- (Python基础)集合操作
集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 以下代码演示了去重,增删改查,以及关系测试供参考学习 ...
- 用matplotlib.pyplot画简单的折线图,直方图,散点图
#coding=utf-8 """ 用matplotlib.pyplot画简单的折线图,直方图,散点图 """ import matplot ...
- POJ_1321
题目 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆 ...
- if、else、else if后的条件执行体
if.else.else if后的条件执行体有两种情况:一种是用大括号“{ }”括起来的代码块,这个代码块被称作条件执行体:另一种是以分号“:”作为结束符的单行语句或空语句(仅有一个分号),这个单行语 ...
- springboot的打包方式
先写一个测试接口 package com.example.demo; import org.springframework.web.bind.annotation.RequestMapping; im ...
- python入门(十六):正则
1.正则:对一些字符串实现模糊的匹配 使用场景: 爬虫:例如,网页源码里面的url都提取出来.网页里面提取我们想要的数据 分析日志:例如,拿到所有的ip,看看哪些ip访问过我的网站 2.引入包 > ...