基于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 $ ...
随机推荐
- 解决使用git,ssh每次都要输入密码
建议:生成ssh 公钥私钥的时候,不要输入密码. 解决方案: 1.修改密码:使用命令 ssh-keygen -p 然后修改密码的时候直接回车,也就是把密码置空. 2.重新生成ssh key, 用 ss ...
- 数字货币比特币以太坊买卖五档行情数据API接口
数字货币比特币以太坊买卖五档行情数据API接口 数字货币一般包含比特币BTC.以太坊ETH.瑞波币XRP.泰达币USDT.比特币现金BCH.比特币SV.莱特币LTC.柚子币EOS.OKB. ...
- 区块链入门到实战(18)之以太坊(Ethereum) – 什么是智能合约
作用:提供优于传统合约的安全方法,并减少与合约相关的其他交易成本. 以太坊网络基石:以太坊虚拟币和智能合约. 智能合约(Smart contract )是一种旨在以信息化方式传播.验证或执行合同的计算 ...
- 全国大学生信息安全竞赛初赛writeup
本文首发于“合天智汇”公众号 作者:Fortheone WEB Babyunserialize 扫目录发现了 www.zip 下载下来发现似曾相识 之前wmctf2020的webweb出了f3的反序列 ...
- CF208E Blood Cousins 题解
一个奇奇怪怪的复杂度很垃圾的线段树合并解法 通过分析可以发现,要找$x$的$k$辈兄弟,只需要找到$x$的$k$辈祖先,然后查找以该祖先为根的子树中和$x$深度相同的节点个数$-1$即可.也就是说,询 ...
- 一个神奇的jq插件----zTree
最近在公司做项目中用到了一个树(ztree)的插件,使用起来非常顺手,便写下这篇博客,用来记录一下,以便后续使用 首先先放上ztree官方的地址:http://www.treejs.cn/v3/mai ...
- e3mall商城总结11之sso系统的分析、应用以及解决ajax跨域问题
说在前面的话 一.sso系统分析 什么是sso系统 SSO英文全称Single Sign On,单点登录.SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.它包括可以将这次 ...
- 0827考试 T1
Description 有一棵树,每个点有一个权值,找到一个权值最大的"乙烷"模型. "乙烷"模型是指: 其中黑点表示可以有0个或多个点. Samp ...
- 2d 骨胳动画
cocos2d下,优秀骨骼spine的换装思路 https://www.jianshu.com/p/a0019c6cf7ba
- maven踩过的坑
maven配置 maven默认配置 解决每次打开idea的spring项目都需要重新配置maven,选择file/other settings/preference for new projects ...