Docker版本Jenkins的使用

Docker版本Jenkins的使用

低调的微胖关注赞赏支持

Docker版本Jenkins的使用

12018.05.15 18:21:50字数 1202阅读 22588

一. 什么是Jenkins

Jenkins是当前非常流行的一款持续集成工具,可以帮助大家把更新后的代码自动部署到服务器上运行。

二. 为什么用docker版的Jenkins

Jenkins主要有三种安装方式

  1. 下载官方war包,放到tomcat中直接运行。
  2. yum安装,感兴趣的朋友可以参考之前我写的一篇文章在linux服务器上安装Jenkins。
  3. 使用官方docker镜像。

本人之前也是使用yum安装的方式安装Jenkins的,不过自动用上docker后,就再也没那样安装过。不得不说直接使用docker镜像真是简单除暴无脑。

三. 准备工作

要使用docker镜像,首先你得先安装docker。对docker不熟悉的朋友可以参考我之前写的一篇docker安装和简单使用的教程。

四. 寻找官方镜像

我们可以到Jenkins官网上寻找docker镜像地址。

Jenkins官网

 

点击docker按钮,自动跳转到dockerhub,在这里可以找到下载命令

Docker Hub网站

五. 启动Jenkins

找到了官方镜像后,我们就可以开始安装了。进入安装好了docker的linux服务器,这里我们以之前教程介绍的阿里云centos7.3环境为例。

输入命令,下载Jenkins官方镜像到服务器上。

docker pull jenkins/jenkins

 

下载镜像

耐心等待下载完成,输入命令查看下载完成的镜像

docker images

镜像下载完成

镜像下载完成,下面就要开始启动容器了。启动容器前,建议大家仔细阅读前面寻找镜像时Docker Hub上关于jenkins镜像的详细说明。

在镜像文档里,我们知道Jenkins访问的端口号是8080,另外还需要暴露一个tcp的端口号50000。我们使用如下命令启动Jenkins镜像。

docker run -d -p 80:8080 -p 50000:50000 -v jenkins:/var/jenkins_home -v /etc/localtime:/etc/localtime --name jenkins docker.io/jenkins/jenkins

这里逐条解释下各参数的意义。

  • -d 后台运行镜像
  • -p 80:8080 将镜像的8080端口映射到服务器的80端口
  • -p 50000:50000 将镜像的50000端口映射到服务器的50000端口
  • -v jenkins:/var/jenkins_home /var/jenkins_home目录为jenkins工作目录,我们将硬盘上的一个目录挂载到这个位置,方便后续更新镜像后继续使用原来的工作目录。
  • -v /etc/localtime:/etc/localtime 让容器使用和服务器同样的时间设置。
  • --name jenkins 给容器起一个别名

启动后输入命令docker ps -a查看所有容器,可以看到jenkins已成功启动。

启动成功

 

六. 配置Jenkins

在浏览器输入http://ip进入Jenkins登录页面。页面会提示你到服务器的指定位置获取初始化密码。

 

输入启动密码

注意,因为我们是docker版的jenkins,所以这个路径不是服务器的路径,而是容器内的路径。我们可以通过如下命令从容器中获取到初始化密码。

docker exec jenkins tail /var/jenkins_home/secrets/initialAdminPassword

image.png

在页面输入密码,点击Continue,进入插件安装页面。我们点击左边的Install suggested plugins,安装推荐插件就好。

 

image.png

耐心等待安装完成

 

image.png

安装好插件后,系统会提示建立管理员账户。

 

 

image.png

创建管理员账户后进入系统,我们先来配置常用工具。

工具配置

进入工具配置页,首先看到的就是jdk配置,这里我们先使用自动安装的java8

jdk自动安装

注意,自动安装jdk需要你填入oracle的账号密码,这样Jenkins才能自动帮你到oracle安装。如果没有oracle账号,建议先去Oracle官网注册一下。

配置好jdk自动安装后,我们继续配置gitgit的字段安装更简单,起个别名,勾上自动安装

git自动安装

 

配置好git我们继续配置Gradle,一样简单,起个别名,勾上自动安装,选择Gradle的版本。

 

gradle自动安装

 

至此,jenkins就安装配置完成了。关于具体如何使用jenkins进行自动发布,可以参考本人另一篇文章linux服务器中Jenkins集成git、Gradle持续构建Springboot项目。

七. 生成SSHKey

这里再补充一章说明如何生成SSHKey。容器从github上面下载代码的时候需要用到。因为咱们这个Jenkins是基于docker的,不是直接安装在服务器上,这里有很大的不同。

要生成容器的SSHKey,首先要先进入容器

docker exec -it jenkins /bin/bash

进入容器后生成sshkey

ssh-keygen -t rsa -C "123@qq.com"

生成sshkey

在容器内输入exit离开容器,使用如下命令获取公钥

tail /var/lib/docker/volumes/jenkins/_data/.ssh/id_rsa.pub

获取SSHKey公钥

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/386737.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小程序 setData 中的坑,其实好像...

最近这段时间在写微信小程序,有一个页面需要动态修改 data 中的数据,而这里似乎是个坑。 1、正常修改 正常修改很简单,当触发 change 事件时,数据和页面都会同时发生改变。这个也不用多说,很简单的例子。 2、如何修改对…

CentOS HarBor安装与配置

HarBor 安装与配置 Prerequisites for the target host ResourceCapacityDescriptionCPUminimal 2 CPU4 CPU is preferredMemminimal 4GB8GB is preferredDiskminimal 40GB160GB is preferred 环境 centos7harbor v1.6.3python v2.7及以上docker v1.10及以上docker-compose …

幂等

一种方案是创建唯一索引。在数据库中针对我们需要约束的资源字段创建唯一索引,可以防止插入重复数据。但是,遇到分库分表的场景,唯一索引也就不那么好使了, 此时,我们可以先查询数据库,判断约束的资源字段是…

ELK 删除索引只保留10天

delelk.sh: #!/bin/bash #定时清除elk索引,10天 DATEdate -d "10 days ago" %Y.%m.%d curl -XDELETE "http://127.0.0.1:9400/*-${DATE}" 127.0.0.1:9400 ES的地址 定时任务执行此脚本 30 17 * bash /home/scripts/delelk.sh

通过ceph-deploy搭建ceph 13.2.5 mimic

一、ceph介绍 操作系统需要内核版本在kernel 3.10或CentOS7以上版本中部署通过deploy工具安装简化部署过程,本文中选用的ceph-deploy版本为1.5.39至少准备6个环境,分别为1个ceph-admin管理节点、3个mon/mgr/mds节点、2个osd节点二、ceph安装 1. 部署ceph…

openstack服务编排

heat列出所有组件时报错 ERROR: 503 Service Unavailable The server is currently unavailable. Please try again at a later time. 错误:503服务不可用 cu错 w误 : 5 0 3 f服 w务 b不 kě可 yng用 The server is currently unavailable. Please tr…

phpstudy如何安装景安ssl证书 window下apache服务器网站https访问

1. 下载景安免费证书 https://www.zzidc.com/help/helpDetail?id555 2.文件解压上传至服务器,位置自己决定 3. 调整apache配置 景安原文链接:https://www.zzidc.com/help/helpDetail?id555 ① 确保你的apache编译了ssl模块,这是支持ssl证书…

docker下gitlab安装配置使用(完整版)

docker下gitlab安装配置使用(完整版) 22018.12.16 00:07:57字数 737阅读 17595 docker 安装gitlab以及使用 一、安装及配置 1.gitlab镜像拉取 # gitlab-ce为稳定版本,后面不填写版本则默认pull最新latest版本 $ docker pull gitlab/gitlab-ce拉取镜像 2.运行g…

hdfs的特性、命令、安全模式、基准测试

1.第一点:如何理解hdfs分布式文件系统,每台机器出一块磁盘,凑成一个大的硬盘,大的硬盘的容量来自各个服务器的硬盘容量之和。 你出5毛,我出5毛,大家凑成1块。 2. HDFS 是 Hadoop Distribute File System 的…

如何push一个docker镜像到DockerHub上

如何push一个docker镜像到DockerHub上 2018.01.03 11:31:39字数 139阅读 202 有时候想要保存自己的docker镜像,又不想自己搭建docker registry,那么就可以了借用DockerHub来用,一般不会有多少人在意你的镜像,不过万一被人看上了…

测开2 - Python(文件操作)

把第一次写好漏掉的点写在最前面:文件读写的内容都要求是字符串。 几种文件操作的模式: 1. r,读模式(默认模式),只能读不能写,文件不存在时报错 2. w,写模式,只能写不能读…

使用docker在CentOS7上搭建WordPress

前言 本文基于Centos 7 环境的docker搭建操作,centos 7 用 firewalld 替换了iptables作为默认防火墙操作,但以前习惯了iptables 就不与时俱进了。 环境准备 systemctl disable firewalld systemctl stop firewalld setenforce 0 sed -i "s/SELIN…

企业级应用,如何实现服务化一(项目架构演化)

1.企业级应用架构演化 1.1.架构演化图 1.2.文字描述 #单一应用架构当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本#垂直应用架构当访问量逐渐增大,单一应用增加机器带来的加速度越来越小&#xff0c…

Alpine 操作系统是一个面向安全的轻型 Linux 发行版

Alpine 操作系统是一个面向安全的轻型 Linux 发行版。它不同于通常 Linux 发行版,Alpine 采用了 musl libc 和 busybox 以减小系统的体积和运行时资源消耗,但功能上比 busybox 又完善的多,因此得到开源社区越来越多的青睐。在保持瘦身的同时&…

ASP.NET MVC Filter过滤机制(过滤器、拦截器)

https://blog.csdn.net/knqiufan/article/details/82413885 本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/knqiufan/article/details/82413885参考文章:1、https://www.cnblogs.com/webapi/p/5669057.html 2、htt…

elk docker

换了个运行环境,重新搭建一套公司本地内部的ELK,之前也搭过(可访问:https://yanganlin.com/31.html),最近做什么事情都想用Docker,这次也用Docker,还算顺利,没掉什么坑里,上次搭建,也用用的6.2的版本,这都过了一年,Elk这三个产品,都已经上7了,用docker搭建的还是用6.2.4,稳定不…

LeetCode Largest Number

1231231转载于:https://www.cnblogs.com/ZHONGZHENHUA/p/10954249.html

有个需求mybatis 插入的时候不知道有哪些字段,需要动态的传入值和字段

有个需求mybatis 插入的时候不知道有哪些字段,需要动态的传入值和字段, Java code? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Test public void testAddProductGuaranty() { //1 560 50000 2014/10/2 0:00:00 2014/11/1 0…

readonly的用法

转载于:https://www.cnblogs.com/w123w/p/10958567.html

mybatis insert 动态生成插入的列及插入的值

代码如下 &#xff1a; 1.mapper.xml 文件 <?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper name…