Jenkins 2019 in Docker(1)Install Single App in Docker

Jenkins2019inDocker(1)InstallSingleAppinDocker

YoucanfindtheDockerinformationherehttps://hub.docker.com/r/jenkins/jenkins

IlikethiscommandtogettheLTSversion

>dockerpulljenkins/jenkins:lts

ThenIpreparethisMakefiletomakeitsimple

PORT=9091

IMAGE=docker.io/jenkins/jenkins

TAG=lts

NAME=jenkins-$(PORT)

run:

dockerrun-d-p$(PORT):8080-p50000:50000-v$(shellpwd)/jenkins:/var/jenkins_home--name$(NAME)$(IMAGE):$(TAG)

clean:

dockerstop${NAME}

dockerrm${NAME}

StarttheJenkinsonmyLocal

>makerun

VisittheUI

http://localhost:9091

Gotomydirectoryandfindthepasswordtherejenkins/secrets/initialAdminPassword

Thisnicecommandcanrunonthehostmachinetocatthecontentinsidedockerapplication

>dockerexecjenkins-9091cat/var/jenkins_home/secrets/initialAdminPassword

2aca09ea79f041edxxxxx

Installthesuggestedplugins,theLTSversionisJenkins2.150.2

Theinstallationiscool.

Goinsidethedockernode

>dockerexec-it-urootjenkins-9091bash

Thewarpackageishereinsidethedocker

/usr/share/jenkins/jenkins.war

Upgradethewarpackageifweneed.Downloadthelatestwar

>wgethttp://mirrors.jenkins.io/war/latest/jenkins.war-Pinstall/

Copymywarpackagethere

>dockercpinstall/jenkins.warjenkins-9091:/usr/install/

Replacethewarwiththelatestone

>cd/usr/share/jenkins/

>cpjenkins.warjenkins.war.bak

>cp/usr/install/jenkins.war/usr/share/jenkins/jenkins.war

RestarttheJenkins.Jenkinsisrunningthere

>java-Duser.home=/var/jerkins_home-jar/usr/share/jenkins/jenkins.war--httpPort=9090

Restartthejenkins

http://localhost:9091/restart

Afterupgrade,theversionisJenkinsver.2.160

UseGenericWaytoRuninDocker

start.shtostartthejenkinsprocess

#!/bin/sh-ex

cd/tool/

java-Duser.home=/var/jenkins_home-jarjenkins.war

Dockerfiletopreparealldependencies

#SetUpJenkinsCI

#PrepretheOS

FROMcentos:7

MAINTAINERCarlLuo<[email protected]>

#installthesoftware

RUNyum-yupdate

RUNyuminstall-yjava-1.8.0-openjdk-devel

#installjenkins

RUNmkdir-p/tool/

ADDinstall/jenkins.war/tool/

WORKDIR/tool/

#starttheapplication

EXPOSE808050000

RUNmkdir-p/app/

ADDstart.sh/app/

WORKDIR/app/

CMD["./start.sh"]

Makefiletosummarizeallthecommands

PORT=9092

IMAGE=sillycat/public

TAG=lablue-jenkins-generic

NAME=jenkins-generic-$(PORT)

prepare:

wgethttp://ftp-nyc.osuosl.org/pub/jenkins/war-stable/2.150.2/jenkins.war-Pinstall/

docker-context:

build:docker-context

dockerbuild-t$(IMAGE):$(TAG).

run:

dockerrun-d-p$(PORT):8080-p50000:50000-v$(shellpwd)/jenkins_home:/var/jenkins_home--name$(NAME)$(IMAGE):$(TAG)

clean:

dockerstop${NAME}

dockerrm${NAME}

logs:

dockerlogs${NAME}

jenkins_homeisthebackupandrestoredirectoryweneedtocareabout.

References:

https://www.jianshu.com/p/0391e225e4a6

http://www.sunlins.cn/2018/11/19/%E3%80%90jenkinsdocker%E3%80%9102-%E5%8D%87%E7%BA%A7docker%E6%96%B9%E5%BC%8F%E5%AE%89%E8%A3%85jenkins%E7%9A%84%E7%89%88%E6%9C%AC/

https://hub.docker.com/_/jenkins/

相关推荐