基于docker部署jenkins
1. 拉镜像
和其他的部署的镜像的方式一样,通常是直接使用docker search jenkins
然后直接docker pull jenkins
此时,在安装插件的时候发现插件都安装失败,提示jenkins版本太低
正确的安装方式是pull的时候直接带上版本号,使用docker pull jenkins/jenkins:lts
2. 部署jenkins
- 默认使用的端口号是8080和50000
- 默认数据目录为:
/var/jenkins_home
,需要映射出来持久化 - 如果需要把jenkins单独映射一级目录,则启动时添加:
JENKINS_OPTS: '--prefix=/jenkins'
- 修改时区问题,则启动时添加:
JAVA_OPTS=-Duser.timezone=Asia/Shanghai
因此使用docker部署的话,可以执行以下脚本:
docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -v /jenkins_data/:/var/jenkins_home -e JENKINS_OPTS="--prefix=/jenkins" JAVA_OPTS=-Duser.timezone=Asia/Shanghai
使用docker-compose时,xml为:
jenkins:
image: docker.io/jenkins/jenkins:lts
ports:
- 8080:8080
- 50000:50000
restart: always
volumes:
- /jenkins_data/:/var/jenkins_home/
- /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime
environment:
JENKINS_OPTS: '--prefix=/jenkins'
JAVA_OPTS: '-Duser.timezone=Asia/Shanghai'
3. 配置nginx转发
配置转发时,最好是把jenkins目录单独映射出来,转发时需要带上实际的请求头信息,不然会报脚本错误:
Mixed Content: The page at ‘https://XXX’ was loaded over HTTPS, but requested an insecure
nginx配置为:
location /jenkins/ {
proxy_pass http://jenkins:8080/jenkins/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
配置完成后基本上就可以访问了
4.插件选择
如果是第一次用,在部署时选择默认即可,后续在按需选择
常用的插件有以下几种:
- Git plugin
- Gitee Plugin #和码云中集成
- GitHub plugin
- Maven Integration plugin
- Publish Over SSH
- Pipeline
- NodeJS Plugin
...
5.构建时注意事项
默认安装后无法找到maven或者版本不对
从jenkins - 系统管理 - 全局工具配置 - maven -新增maven安装新的maven,在构建时使用新配置的maven即可gitee插件配置
Gitee 帮助中心 / 第三方服务集成 / 帮助详情 / Jenkins 插件如何把构建的结果拷贝到目标机器
如果是拷贝到同一个宿主机的环境,则可以把宿主机的目录也映射到jenkins中
如果是网络可联通的环境,则使用Publish Over SSH
插件,通过插件或者shell的scp
拷贝过去
基于docker部署jenkins的更多相关文章
- Ubuntu系统下基于docker部署Jenkins环境
本文是在ubuntu环境下安装jenkins,jenkins运行在docker容器中, 至于docker如何安装,请参考https://www.cnblogs.com/xingyunqiu/p/115 ...
- [系统集成] 基于Kubernetes 部署 jenkins 并动态分配资源
基于kubernetes 部署 jenkins master 比较简单,难点是为 jenkins 动态分配资源.基于kubernetes 为 jenkins 动态分配资源需要实现下述功能: 资源分配: ...
- 基于Docker部署nodejs应用
基于Docker部署nodejs应用 背景 公司基于Vue.js的项目最近需要部署到云端,因此需要先行在公司内部Docker环境下验证相关技术,因而有本文之前提. 本文展示在Docker容器中,应用部 ...
- docker部署Jenkins,以及在Jenkins中使用宿主机的docker/docker-compose命令
使用最新的官方镜像jenkins/jenkins 第一次使用的docker部署jenkins的时候,出现了两个问题: 1.因为用户权限问题挂载/home/jenkins/data到/var/jenki ...
- 基于Docker部署ETCD集群
基于Docker部署ETCD集群 关于ETCD要不要使用TLS? 首先TLS的目的是为了鉴权为了防止别人任意的连接上你的etcd集群.其实意思就是说如果你要放到公网上的ETCD集群,并开放端口,我建议 ...
- 基于docker构建jenkins和svn服务(转)
码农们很定都知道svn的重要性,机器坏掉丢代码的惨痛教训想必很多人都有. jenkins可能很多人都不了解.这是一个持续集成的工具,在敏捷开发领域很流行:跟svn结合可以实现定期build.check ...
- docker 部署 jenkins
建议使用的Docker映像是jenkinsci/blueocean image(来自 the Docker Hub repository). 该镜像包含当前的长期支持 (LTS) 的Jenkins版本 ...
- ubuntu 中安装jenkins,基于docker运行jenkins
本文是在ubuntu环境下安装jenkins,jenkins运行在docker容器中,至于docker如何安装,本文不再描述,大家可以上网查询下,如何安装docker,下面先放上一个使用jenkin ...
- 基于Docker构建Jenkins CI平台
1.部署gitlab 1.1 部署gitlab docker run -d \ --name gitlab \ -p 8443:443 \ -p 9999:80 \ -p 9998:22 \ -v $ ...
随机推荐
- SpringBoot项目 使用Jenkins进行自动化部署 gitlab打tag 生产测试环境使用 含配置中心
脚本 node('master') { def mvnHome = tool 'maven11-free' def gitUrl = "http://gitlab.wdcloud.cc:10 ...
- Ubuntu 磁盘满了处理方法。
Ubuntu 磁盘满了处理方法: 1. 如果是虚拟机安装ubuntu,直接给虚拟机安装ubuntu 系统所在的盘符动态分配一点磁盘容量,就可以了. 2. 如果不是虚拟机安装ubuntu,那么有两个办法 ...
- TCP/IP网络编程之socket交互流程
一.概要 本篇文章主要讲解基于.net中tcp/ip网络通信编程.在自我进步的过程中记录这些内容,方便自己记忆的同时也希望可以帮助到大家.技术的进步源自于分享和不断的自我突破. 技术交流QQ群:580 ...
- 时间转换c#
简要 本篇文章主要介绍基于.net(c#)封装的时间帮助类.主要功能是将时间戳与DateTime类型相互转换. 1.其中包括将毫秒级时间戳(13位).秒级时间戳(10位)转换为DateTime. 2. ...
- PHP - 附件下载
<?php $file_name = "textuse.zip";//下载文件名 $file_dir = "E:/www/xiazaiwenjian/"; ...
- 跟我一起学.NetCore之中间件(Middleware)简介和解析请求管道构建
前言 中间件(Middleware)对于Asp.NetCore项目来说,不能说重要,而是不能缺少,因为Asp.NetCore的请求管道就是通过一系列的中间件组成的:在服务器接收到请求之后,请求会经过请 ...
- Android Studio 如何导出和导入自己的常用设置,避免重复制造轮子。加快开发速度
Android Studio 如何导出和导入自己的常用设置,避免重复制造轮子.加快开发速度 作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 在使用 A ...
- 面试【JAVA基础】类加载机制
1.类加载过程 1.1.加载 查找和导入class文件. 1.2.链接 验证 检验载入的class文件的正确性,完整性. 准备 给类的静态变量分配存储空间,会赋对象类型的默认值. 解析 将class常 ...
- PHP 安装 扩展时 抛出 /usr/local/Cellar/php@7.1/7.1.25/pecl 异常解决
liugx@MacBook-Pro ~/work/php/ext_source/php-xhprof-extension master make installmkdir: /usr/ ...
- SpringMVC-乱码问题
乱码问题 目录 乱码问题 1. 使用原生filter解决 1. 前端jsp 2. 编写controller 3. 编写过滤器 4. 注册过滤器 2. 使用SpringMVC提供的过滤器实现 1. 使用 ...