使用Docker安装Jenkins
博主不再推荐以Docker的方式安装Jenkins,请查看最新版 https://www.cnblogs.com/stulzq/p/9291237.html
Jenkins
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
环境准备
腾讯云
硬件配置:2核4G 1M带宽。50G硬盘。
系统配置:CentOS 7.2
Docker安装
请移步查看:CentOS 7 安装 Docker
安装Jenkins
首先不直接从Docker Store上直接Pull Jenkins 的 Image 文件,因为待会需要进行dotnet core 的 Docker自动部署,需要对宿主机上的Docker进行直接操作,那么需要挂载 Docker 给 Jenkins Image,所以现在需要自己动手编写 Dockerfile 构建自定义的Jenkins。
1.新建Dockerfile
touch Dockerfile
vim Dockerfile
2.加入以下内容:
FROM jenkins
USER root
#清除了基础镜像设置的源,切换成腾讯云的jessie源
#使用非腾讯云环境的需要将 tencentyun 改为 aliyun
RUN echo '' > /etc/apt/sources.list.d/jessie-backports.list \
&& echo "deb http://mirrors.tencentyun.com/debian jessie main contrib non-free" > /etc/apt/sources.list \
&& echo "deb http://mirrors.tencentyun.com/debian jessie-updates main contrib non-free" >> /etc/apt/sources.list \
&& echo "deb http://mirrors.tencentyun.com/debian-security jessie/updates main contrib non-free" >> /etc/apt/sources.list
#更新源并安装缺少的包
RUN apt-get update && apt-get install -y libltdl7 && apt-get update
ARG dockerGid=999
RUN echo "docker:x:${dockerGid}:jenkins" >> /etc/group
# 安装 docker-compose 因为等下构建环境的需要
RUN curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
RUN chmod +x /usr/local/bin/docker-compose
3.构建image
docker build . -t auto-jenkins

等待时间可能有点长,请耐心等待。
出现以上 Successfully 内容代表安装Jenkins成功
4.在启动Jenkins时,需要先创建一个Jenkins的配置目录,并且挂载到docker 里的Jenkins目录下
mkdir -p /var/jenkins_home
5.修改目录权限(很重要!)
chown -R 1000 /var/jenkins_home
6.运行 Jenkins
docker run --name jenkins -p 8080:8080 -p 50000:50000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $(which docker):/bin/docker \
-v /var/jenkins_home:/var/jenkins_home \
-d auto-jenkins
出现一串很长的字符串以后,我们的jenkins已经成功启动:

通过命令docker ps查看运行的镜像:

配置Jenkins
访问http://<你的ip>:8080访问Jenkins。如果无法访问请检查系统防火墙、云的安全组设置。

可以看到需要我们输入密码。
首选进入容器:
docker exec -it jenkins /bin/bash
然后查看密码:
cat /var/jenkins_home/secrets/initialAdminPassword

复制输出的内容,粘贴到Administrator password,输入 exit 退出容器,此时进行下一步你会看到此界面,点击 Install suggested plugins

等待安装完毕:

如果有插件安装失败,不用紧张,安装结束之后会有"Retry”重试选项,点击重试即可。
漫长的等待之后到了下一步:

根据表单填写信息之后就结束了!
进入主界面后如果看到右上角有错误的提示信息,那么请把你的Jenkins升级到最新版本,然后更新一下插件。
如果更新之后出现协议警告:

我们可以直接点击警告中的Protocol Configuration,或者点击系统管理—>全局安全配置—>Agents—>Agent protocols

将那两项取消勾选即可。
配置加速器
【系统管理】-> 【插件管理】-> 【高级】-> 【升级站点】
更换地址:http://mirror.xmission.com/jenkins/updates/current/update-center.json

至此Jenkins的配置就结束了!
使用Docker安装Jenkins的更多相关文章
- Docker的安装以及使用Docker安装jenkins,gogs,tomcat(一)
(1)Docker的安装 官网安装链接 :https://yeasy.gitbooks.io/docker_practice/content/ 卸载旧版本 旧版本的 Docker 称为 docker ...
- docker 安装jenkins 发布 asp.net core 2.0
安装Docker 其实安装Docker的过程,大家可以到Docker官网找到自己相对应的安装文档进行安装,Docker区分CE和EE的两个版本,具体这两个版本有什么区别,大家自行查阅相关资料,这里不再 ...
- docker 安装 jenkins 笔记
前提: 已安装好 docker-ce,可运行 docker 命令 命令: sudo docker pull jenkins mkdir -p ~/dockers/jenkins cd ~/docker ...
- Mac 环境docker 安装jenkins
网上很多的教程是讲的是Linux 上的Docker安装Jenkins,但是我用的是Mac,所以参考之前的前辈写的文章,记录一下自己的安装过程.非常感谢参考文章的前辈写的文章. 参考Docker安装Je ...
- Docker安装Jenkins打包Maven项目为Docker镜像并运行【保姆级图文教学】
一.前言 Jenkins作为CI.CD的先驱者,虽然现在的风头没有Gitlab强了,但是还是老当益壮,很多中小公司还是使用比较广泛的.最近小编经历了一次Jenkins发包,感觉还不错,所以自己学习了一 ...
- docker 安装jenkins
基于docker 进行安装 软件,首先需要有docker环境. 1.docker 下载 jenkins 镜像 指定版本 ,因为低版本的后面安装 软件会失败(亲测). docker pull jenki ...
- Linux Docker安装Jenkins
安装环境 操作系统 centos7.3 安装Docker,安装及配置见 <Docker之Docker介绍及安装配置> 安装Jenkins 下载Jenkins 命令:sudo docker ...
- docker安装jenkins及其相关问题解决
1.拉取镜像并启动容器 docker run -d -p 8080:8080 -p 50000:50000 -v $(pwd)/data:/var/jenkins_home --name jenkin ...
- Docker安装jenkins(六)
这里是在linux环境下安装docker之后,在doucer内安装jenkins --------------------docker 安装 jenkins---------------------- ...
随机推荐
- 设计模式 --> (6)原型模式
原型(Prototype)模式 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. 原型模式是一种创建型设计模式,Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知 ...
- php的错误日志级别 error_report(转)
; E_ALL 所有错误和警告(除E_STRICT外); E_ERROR 致命的错误.脚本的执行被暂停.; E_RECOVERABLE_ERROR 大多数的致命错误.; E_WARNING 非致命的运 ...
- 如何从零开始学习区块链技术——推荐从以太坊开发DApp开始
很多人迷惑于区块链和以太坊,不知如何学习,本文简单说了一下学习的一些方法和资源. 一. 以太坊和区块链的关系 从区块链历史上来说,先诞生了比特币,当时并没有区块链这个技术和名词,然后业界从比特币中提取 ...
- DevOps实践之Gitlab安装部署
All GitLab packages are posted to our package server and can be downloaded. We maintain five repos: ...
- Python并发编程之进程
一.理论概念 1.定义 进程(Process 也可以称为重量级进程)是程序的一次执行.在每个进程中都有自己的地址空间.内存.数据栈以及记录运行的辅助数据,它是系统进行资源分配和调度的一个独立单位. 2 ...
- Beta版本展示博客
1 团队介绍 团队组成: 齐爽爽(258)个人博客:http://www.cnblogs.com/shuangshuangblog/ 马帅(248)个人博客:http://www.cnblogs.co ...
- Django 博客
blogproject/blogproject/settings.py ## 其它配置代码... # 把英文改为中文 LANGUAGE_CODE = 'zh-hans' # 把国际时区改为中国时区 T ...
- raid5两块硬盘离线怎么办? 强制上线失败如何恢复数据
服务器故障描述: 客户使用Dell 2850服务器组建了raid5磁盘阵列,阵列中包含有6块硬盘(SCSI硬盘,单盘容量300G),服务器操作系统为linux Redhat4:文件系统为ext3文件系 ...
- zookeeper入门系列:paxos协议
上一章讨论了一种强一致性的情况,即需要分布式事务来解决,本章我们来讨论一种最终一致的算法,paxos算法. paxos算法是由大牛lamport发明的,关于paxos算法有很多趣事.比如lamport ...
- python之路--day11---迭代器和生成器
迭代: 迭代是一个重复的过程,每次重复即一次迭代,并且每次迭代的结果都是下一次迭代的初始值 为什么要有迭代器: 数据类型的取值,字符串,列表,元组依靠索引可以取值,但是字典,集合,文件这些数据类型无法 ...