jenkins官网,使用google浏览器翻译和下载war更方便
https://www.jenkins.io/doc/book/installing/
在macOS和Linux上
-
打开一个终端窗口。
-
使用以下 命令在Docker中 创建网桥网络
docker network create
:docker network create jenkins
-
创建以下卷以共享连接到Docker守护程序所需的Docker客户端TLS证书,并使用以下
docker volume create
命令持久化Jenkins数据 :docker volume create jenkins-docker-certs docker volume create jenkins-data
-
为了在Jenkins节点内执行Docker命令,请
docker:dind
使用以下docker container run
命令下载并运行Docker映像 :docker container run \ --name jenkins-docker \ --rm \ --detach \ --privileged \ --network jenkins \ --network-alias docker \ --env DOCKER_TLS_CERTDIR=/certs \ --volume jenkins-docker-certs:/certs/client \ --volume jenkins-data:/var/jenkins_home \ --publish 2376:2376 \ docker:dind
(可选)指定用于运行映像的Docker容器名称。默认情况下,Docker将为容器生成一个唯一的名称。 (可选)关闭时自动删除Docker容器(Docker映像的实例)。它包含从以下所述的 jenkinsci/blueocean
容器调用Docker时使用的Docker映像缓存。(可选)在后台运行Docker容器。以后可以通过运行停止该实例, docker container stop jenkins-docker
并使用重新启动docker container start jenkins-docker
。有关docker container
更多容器管理命令,请参见 。当前在Docker中运行Docker需要特权访问才能正常运行。使用较新的Linux内核版本可以放宽此要求。 这与在先前步骤中创建的网络相对应。 使Docker容器中的Docker作为网络 docker
内的主机名可用jenkins
。在Docker服务器中启用TLS的使用。由于使用了特权容器,因此建议这样做,尽管它需要使用下面描述的共享卷。此环境变量控制管理Docker TLS证书的根目录。 /certs/client
将容器内的目录映射到jenkins-docker-certs
上面创建的Docker卷。/var/jenkins_home
将容器内的目录映射到jenkins-data
上面创建的命名为Docker的卷。这将允许该Docker容器的Docker守护程序控制的其他Docker容器从Jenkins装载数据。(可选)公开主机上的Docker守护程序端口。这对于 docker
在主机上执行命令以控制此内部Docker守护程序很有用。该 docker:dind
图像本身。可以使用以下命令在运行之前下载该映像docker image pull docker:dind
。注意:如果复制和粘贴上面的命令片段不起作用,请尝试在此处复制和粘贴此无注释版本:
docker container run --name jenkins-docker --rm --detach \ --privileged --network jenkins --network-alias docker \ --env DOCKER_TLS_CERTDIR=/certs \ --volume jenkins-docker-certs:/certs/client \ --volume jenkins-data:/var/jenkins_home \ --publish 2376:2376 docker:dind
-
下载
jenkinsci/blueocean
映像并使用以下docker container run
命令将其作为容器在Docker中运行 :docker container run \ --name jenkins-blueocean \ --rm \ --detach \ --network jenkins \ --env DOCKER_HOST=tcp://docker:2376 \ --env DOCKER_CERT_PATH=/certs/client \ --env DOCKER_TLS_VERIFY=1 \ --publish 8080:8080 \ --publish 50000:50000 \ --volume jenkins-data:/var/jenkins_home \ --volume jenkins-docker-certs:/certs/client:ro \ jenkinsci/blueocean
(可选)为该 jenkinsci/blueocean
Docker映像实例指定Docker容器名称。这使得后续docker container
命令更易于引用。(可选) jenkinsci/blueocean
关闭时自动删除Docker容器(以下图像的实例化)。如果您需要退出詹金斯,这可以使事情保持整洁。(可选) jenkinsci/blueocean
在后台(即“分离”模式)运行容器并输出容器ID。如果未指定此选项,则在终端窗口中输出此容器的正在运行的Docker日志。将此容器连接到上 jenkins
一步中定义的网络。这使得上一步中的Docker守护进程可以通过主机名对此Jenkins容器使用docker
。指定由使用的环境变量 docker
,docker-compose
以及其他泊坞窗工具从前面的步骤连接到泊坞守护进程。将 jenkinsci/blueocean
容器的端口8080 映射(即“发布”)到主机上的端口8080。第一个数字表示主机上的端口,而最后一个数字表示容器的端口。因此,如果您-p 49000:8080
为此选项指定,则将通过端口49000访问主机上的Jenkins。(可选)将 jenkinsci/blueocean
容器的端口50000 映射到主机上的端口50000。仅当您在其他计算机上设置了一个或多个基于JNLP的Jenkins代理时才需要这样做,这些代理又与jenkinsci/blueocean
容器进行交互(充当“主” Jenkins服务器,或仅充当“ Jenkins主服务器”)。默认情况下,基于JNLP的Jenkins代理通过TCP端口50000与Jenkins主服务器通信。您可以通过“ 配置全局安全性” 页面在Jenkins主服务器上更改此端口号。如果要将JNLP代理的 Jenkins主服务器的TCP端口更改 为51000(例如),则需要重新运行Jenkins(通过此docker run …
命令),并使用类似以下内容的方法指定“发布”选项--publish 52000:51000
,其中最后一个值与Jenkins主服务器上此更改后的值匹配,第一个值是Jenkins主服务器主机上基于JNLP的Jenkins代理通过其通信(与Jenkins主服务器)进行通信的端口号,即52000。请注意,WebSocket代理在Jenkins 2.217中不需要此配置。/var/jenkins_home
将容器中的目录映射到名称 为的Docker 卷jenkins-data
。除了将/var/jenkins_home
目录映射到Docker卷之外,您还可以将此目录映射到计算机本地文件系统上的目录。例如,指定选项--volume $HOME/jenkins:/var/jenkins_home
会将容器的/var/jenkins_home
目录映射 到 本地计算机目录中的jenkins
子目录$HOME
,通常为/Users/<your-username>/jenkins
或/home/<your-username>/jenkins
。请注意,如果您为此更改了源卷或目录,则docker:dind
需要更新上方容器中的卷以与此匹配。将 /certs/client
目录映射到先前创建的jenkins-docker-certs
卷。这使连接到Docker守护程序所需的客户端TLS证书在DOCKER_CERT_PATH
环境变量指定的路径中可用 。该 jenkinsci/blueocean
泊坞窗图像本身。如果尚未下载该映像,则此docker container run
命令将自动为您下载该映像。此外,如果自上次运行此命令以来已发布了对该映像的任何更新,则再次运行该命令将自动为您下载这些发布的映像更新。
注意:也可以使用以下docker image pull
命令独立下载(或更新)此Docker映像 :docker image pull jenkinsci/blueocean
注意:如果复制和粘贴上面的命令片段不起作用,请尝试在此处复制和粘贴此无注释版本:
docker container run --name jenkins-blueocean --rm --detach \ --network jenkins --env DOCKER_HOST=tcp://docker:2376 \ --env DOCKER_CERT_PATH=/certs/client --env DOCKER_TLS_VERIFY=1 \ --volume jenkins-data:/var/jenkins_home \ --volume jenkins-docker-certs:/certs/client:ro \ --publish 8080:8080 --publish 50000:50000 jenkinsci/blueocean
密码位置/Users/xxx/jenkins/secrets/initialAdminPassword 不同系统地址不一样
优先修改国内镜像,/Users/xxx/jenkins/hudson.model.UpdateCenter.xml
<?xml version='1.1' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
<url>https://cdn.jsdelivr.net/gh/lework/jenkins-update-center/updates/huawei/update-center.json</url>
</site>
</sites>
当然也可以通过web 来更改:Go to Jenkins
→ Manage Jenkins
→ Manage Plugins
→ Advanced
→ Update Site and submit URL to your https://cdn.jsdelivr.net/gh/lework/jenkins-update-center/updates/huawei/update-center.json
WAR文件 建议war包安装,jenkins中需要依赖MAVEN,JDK,GIT等基础功能docker时比较麻烦
Jenkins的Web应用程序Archive(WAR)文件版本可以安装在任何支持Java的操作系统或平台上。
要下载并运行Jenkins的WAR文件版本:
-
将最新的稳定Jenkins WAR文件下载 到计算机上的适当目录。
-
打开终端/命令提示符窗口,进入下载目录。
-
运行命令
java -jar jenkins.war
。 -
浏览
http://localhost:8080
并等待,直到出现“ 解锁Jenkins”页面。 -
继续下面的安装后设置向导。