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.pswp.cn/news/386737.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/386737.shtml
英文地址,請注明出處:http://en.pswp.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…