GVKun编程网logo

docker安装jenkins并用docker部署net(docker 安装jenkins)

16

在本文中,我们将为您详细介绍docker安装jenkins并用docker部署net的相关知识,并且为您解答关于docker安装jenkins的疑问,此外,我们还会提供一些关于CentOS7环境下使用

在本文中,我们将为您详细介绍docker安装jenkins并用docker部署net的相关知识,并且为您解答关于docker 安装jenkins的疑问,此外,我们还会提供一些关于CentOS7 环境下使用docker安装jenkins、Docker 安装Jenkins、Docker+Jenkins持续集成环境(1)使用Docker搭建Jenkins+Docker持续集成环境、Docker+Jenkins持续集成环境(2)使用docker+jenkins构建nodejs前端项目的有用信息。

本文目录一览:

docker安装jenkins并用docker部署net(docker 安装jenkins)

docker安装jenkins并用docker部署net(docker 安装jenkins)

1. 部署jenkins

1.1 创建jenkins的工作目录

//创建工作目录 
mkdir /var/jenkins_home
//赋予权限
chown -R 1000 /var/jenkins_home

1.2 通过docker部署

1.2.1 拉取镜像

docker pull  jenkinsci/blueocean

1.2.2 生成容器

#注意:切换一行执行命令 
docker run -u root -d -p 8080:8080 -p 50000:50000
-v /var/jenkins_home:/var/jenkins_home
-v /usr/bin/docker:/usr/bin/docker
-v /var/run/docker.sock:/var/run/docker.sock
-v /usr/local/bin/docker-compose:/usr/local/bin/docker-compose
jenkinsci/blueocean

一行显示:
docker run -u root -d -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home -v /usr/bin/docker:/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock -v /usr/local/bin/docker-compose:/usr/local/bin/docker-compose jenkinsci/blueocean

1.3 通过docker-compose部署

执行docker-compose脚本

version: ''3.4''
services:
jenkins:
container_name: jenkins
image: jenkinsci/blueocean
ports:
- "8080:8080"
- "50000:50000"
restart: always
user: root
volumes:
- ''/var/jenkins_home:/var/jenkins_home''
- ''/usr/bin/docker:/usr/bin/docker''
- ''/var/run/docker.sock:/var/run/docker.sock''
- ''/usr/local/bin/docker-compose:/usr/local/bin/docker-compose''
environment:
- TZ=Asia/Shanghai

1.3.1 执行命令生成容器

docker-compose -f docker-compose.yaml  up --build -d jenkins

2. 访问jenkins网站

2.1 寻找超级管理员密码

进入容器,然后去容器的执行目录下查找管理员的密码

// 进入容器 
docker exec -it 容器ID bash
// 查看密码
cat /var/jenkins_home/secrets/initialAdminPassword

输入找到的管理员密码然后进入系统

2.2 进入jenkins

新手入门,选择安装插件的方式,这里我们直接选择安装推荐的插件然后进入系统

注意:安装插件报错的话继续在执行一遍。

2.3 设置管理员用户密码

创建管理员用户密码

2.4 系统界面

如果系统管理里面有错误,那么我们可以手动安装和修改。

3. 通过docker部署程序

3.1 创建任务

3.1.1 选择自由风格的软件项目

3.1.2 添加源代码管理

在源码管理里面勾兑Git,然后输入仓库地址,添加你仓库对应的用户名和密码并且执行分支

指定分支的地方直接写 dev或者master

3.1.3 构建命令

选择执行shell脚本

docker-compose -f build/docker-compose.yaml up --build -d

保存,选择立即构建。

构建历史的构建状态变为蓝色,则代表构建成功;红色代表构建失败。

3.2. 错误

如果出现错误,那么就需要去查看控制台输出,根据错误找原因。


本文分享自微信公众号 - dotNET跨平台(opendotnet)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

CentOS7 环境下使用docker安装jenkins

CentOS7 环境下使用docker安装jenkins

1、拉取最新的jenkins镜像

docker pull jenkins/jenkins

在这里插入图片描述

2、创建jenkins工作目录并授权,可以根据需要自行调整目录路径

mkdir -p /data/jenkins_home/
chown 777 /data/jenkins_home/

3、创建并启动Jenkins容器

docker run -d --name jenkins -p 9666:8080 -p 50000:50000 -v /data/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime jenkins/jenkins

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

4、查看jenkins是否启动成功,如果status为up则表示启动成功

docker ps -l

在这里插入图片描述

5、访问jenkins地址,ip修改为服务器ip,端口改为容器8080端口映射到服务器的9666端口,第一次访问会要求输入在服务器指定文件中的管理员密码
123.123.123.123:9666

在这里插入图片描述

在这里插入图片描述

获取并输入密码,注意要将/var/jenkins_home替换为/data/jenkins_home,如果没做映射可以不用替换,然后继续
6、选择"install suggested plugins"安装建议的插件即可,如有特殊需要可以选择"select plugins to install",然后等待插件安装完成

插件安装完成后,接下来设置管理员账户和密码,然后设置jenkins访问url,设置完成后就可以正常使用jenkins了

Docker 安装Jenkins

Docker 安装Jenkins

Jenkins官方网址:https://jenkins.io/

dockerHub官方网址:https://hub.docker.com/

Jenkins社区版镜像:https://github.com/jenkinsci/docker/blob/master/README.md

 

一、使用docker search命令搜索Jenkins镜像

localhost:~ piao$ docker search jenkins
NAME                                   DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
jenkins                                Official Jenkins Docker image                   4768                [OK]
jenkins/jenkins                        The leading open source automation server       2035
jenkinsci/blueocean                    https://jenkins.io/projects/blueocean           516
jenkinsci/jenkins                      Jenkins Continuous Integration and Delivery …   382
jenkins/jnlp-slave                     a Jenkins agent which can connect to Jenkins…   127                                     [OK]
jenkinsci/jnlp-slave                   A Jenkins slave using JNLP to establish conn…   124                                     [OK]
jenkinsci/slave                        Base Jenkins slave docker image                 64                                      [OK]
jenkins/slave                          base image for a Jenkins Agent, which includ…   41                                      [OK]
jenkinsci/ssh-slave                    A Jenkins SSH Slave docker image                40                                      [OK]
cloudbees/jenkins-enterprise           CloudBees Jenkins Enterprise (Rolling releas…   34                                      [OK]
jenkins/ssh-slave                      A Jenkins slave using SSH to establish conne…   29                                      [OK]
h1kkan/jenkins-docker                   Extended Jenkins docker image, bundled wi…    26
xmartlabs/jenkins-android              Jenkins image for Android development.          26                                      [OK]
bitnami/jenkins                        Bitnami Docker Image for Jenkins                24                                      [OK]
openshift/jenkins-2-centos7            A Centos7 based Jenkins v2.x image for use w…   22
cloudbees/jenkins-operations-center    CloudBees Jenkins Operation Center (Rolling …   14                                      [OK]
vfarcic/jenkins-swarm-agent            Jenkins agent based on the Swarm plugin         8                                       [OK]
openshift/jenkins-slave-base-centos7   A Jenkins slave base image. DEPRECATED: see …   7
trion/jenkins-docker-client            Jenkins CI server with docker client            5                                       [OK]
publicisworldwide/jenkins-slave        Jenkins Slave based on Oracle Linux             5                                       [OK]
openshift/jenkins-1-centos7            DEPRECATED: A Centos7 based Jenkins v1.x ima…   4
ansibleplaybookbundle/jenkins-apb      An APB which deploys Jenkins CI                 1                                       [OK]
jameseckersall/jenkins                 docker-jenkins (based on openshift jenkins 2…   0                                       [OK]
mashape/jenkins                        Just a jenkins image with the AWS cli added …   0                                       [OK]
amazeeio/jenkins-slave                 A jenkins slave that connects to a master vi…   0                                       [OK]

这里需要注意,搜索到的第一个镜像jenkins是官方镜像,已经停止运维了,最新的都是2年前的。

我们这里使用第二个镜像jenkins/jenkins,这是jenkins社区版镜像,更新到现在。

 

二、docker pull拉取Jenkins镜像

localhost:~ piao$ docker pull jenkins/jenkins:lts

这里我们拉取的lts的版本,LTS (长期支持) 版本每12周从常规版本流中选择,作为该时间段的稳定版本。

 

三、docker run运行jenkins镜像

我们可以先输入docker images查看一下本地镜像库

localhost:~ piao$ docker images
REPOSITORY               TAG                 IMAGE ID            CREATED             SIZE
jenkins/jenkins          lts                 5307ff34e221        13 days ago         648MB

这个时候我们看到本地有jenkins/jenkins:lts这个镜像文件,现在我们要运行它。

localhost:~ piao$ docker run -d -p 8086:8080 -p 50000:50000 -v /home/jenkins/data:/var/jenkins_home jenkins/jenkins:lts

-d  是指在后台运行

-p 是映射到宿主机的端口

-v 是数据卷挂载,因为容器销毁里面的数据会消失,所以我们在使用镜像的时候,都会把重要的数据挂载到宿主机上。

最后就是镜像名称。

 

运行成功后,我们会看到一长串的容器ID。

然后我们输入Jenkins访问地址:http://127.0.0.1:8086/

看到这个页面我们Jenkins就启动成了,接着我们就等待一段时间。

 

四、解锁Jenkins

这个时候我们可以使用docker命令进入Jenkins容器里面

localhost:~ piao$ docker exec -it c41c0fce6fdd /bin/bash

 

在Jenkins容器里面,我们需要根据Jenkins Web提示的内容输入以下命令查看密码。

jenkins@c41c0fce6fdd:/$ cat /var/jenkins_home/secrets/initialAdminPassword
f3bddd1bdc7e4be4ac4b4af4ac9b2068

复制密码f3bddd1bdc7e4be4ac4b4af4ac9b2068到网页上,点击继续然后等待一段时间。

 

五、下载推荐插件

这里我们选择安装推荐的插件就可以了。但是在点击之前我们需要注意!!!!

因为部分插件被墙了,需要FQ,所以我们这里需要设置国内的下载源。

关于下载Jenkins插件很慢请看这边文章:解决下载Jenkins插件很慢

 

现在系统正在下载插件,我们等待一会就好了。

 

六、设置Jenkins基础配置

最后我们看到这个页面安装完成了。

Docker+Jenkins持续集成环境(1)使用Docker搭建Jenkins+Docker持续集成环境

Docker+Jenkins持续集成环境(1)使用Docker搭建Jenkins+Docker持续集成环境

本文介绍如何通过Jenkins的docker镜像从零开始构建一个基于docker镜像的持续集成环境,包含自动化构建、发布到仓库\并部署上线。

0. 前置条件

服务器安装docker,并启动docker swarm

注意docker启动时,需要开启tcp端口

1.Jenkins 安装

1.1 命令行启动:

安装比较简单,直接运行

docker run -p 8080:8080 -p 50000:50000 -d  -v /home/jenkins-home-docker:/var/jenkins_home  jenkins/jenkins:lts

运行后查看日志,获取token,打开ip:8080,输入token,安装常用插件

1.2 使用swarm集群管理工具

在services里,添加服务

enter description here

2.Jenkins 插件安装

我们需要一些插件支持

  • Docker plugin : 提供docker 构建和发布
  • SSH plugin : 提供通过SSH在远程主机执行命令,用于部署服务
  • maven plugin: 支持maven

系统管理-插件管理里进行安装即可。

2.1 docker 配置

“系统管理-系统设置-云” 里新增

enter description here

注意docker host url需要加上tcp://

2.2 ssh主机 配置

“系统管理-系统设置-SSH remote hosts” 里配置SSH远程主机

enter description here

2.3 配置下email

在系统设置里直接设置,配置下smtp

2.4 配置jdk、maven

在系统管理-全局工具配置里设置JDK自动安装

enter description here

maven同样配置即可

3.Jenkins 项目配置

3.1 新建项目

我们是maven项目,选择maven

enter description here

3.2 配置源码管理

首先配置源码,可以是git或者svn,项目组用的是svn

enter description here

3.3 配置触发器

配置自动构建,勾选POLL SCM,配置5分钟检查一次,当svn发生变化时,会自动启动构建

enter description here

3.4 配置Build

简单的maven项目,构建使用pom.xml,执行package -DskipTests

enter description here

3.5 配置Post Steps

Post Steps是指构建完成执行的步骤,我们会实现构建docker,发布docker和部署服务

3.5.1 配置docker

点击add post-build step,选择Build/publish docker image:

enter description here

选择cloud为先前配置的docker-cloud,image填写私服发布地址,勾上push image。

enter description here

这样配置,构建完成后会自动push到私服。

3.5.2 配置远程部署

我们使用docker stack来部署服务

首先,编写docker-compose.yml

version: "3"
services:
   backend:
	image: 192.168.86.8:5000/allinone-service-cicd
	deploy:
	  replicas: 1
	  restart_policy:
		condition: on-failure
	ports:
	  - "8007:8006"
	networks:
	  - webnet
networks:
  webnet:

保存到docker服务器,比如/root/allinone/allinone-service/allinone目录

然后,添加post-build step:

enter description here

选择配置好的远程docker主机:

enter description here

填入命令:

cd /root/allinone/allinone-service/allinone
docker stack down allinone-cicd
docker stack deploy -c docker-compose.yml allinone-cicd
  • docker stack down 将原先服务下线
  • docker stack deploy -c 重新部署服务

4 开始构建

4.1 手动构建

回到工程,点击立即构建,第一次构建会自动下载jdk,maven,会比较慢

enter description here

等待一会,构建成功:

9e70992ebc17: Pushing [===============================================>   ]  42.66MB/45.02MB
9e70992ebc17: Pushing [=================================================> ]  44.96MB/45.02MB
9e70992ebc17: Pushing [==================================================>]  45.02MB
9e70992ebc17: Pushed
latest: digest: sha256:5df6c97d6173527bc92ddc436fcef063069cd1cd3d0da8a0c74d2238443ae4d6 size: 1582
Docker Build Done
[SSH] script:

cd /root/allinone/allinone-service/allinone
docker stack down allinone-cicd
docker stack deploy -c docker-compose.yml allinone-cicd

[SSH] executing...
Removing service allinone-cicd_backend
Removing network allinone-cicd_webnet
Creating network allinone-cicd_webnet
Creating service allinone-cicd_backend

[SSH] completed
[SSH] exit-status: 0

Finished: SUCCESS

如果配置了邮件通知,会收到构建成功邮件。

4.2 自动构建

SVN提交一个变更,等几分钟,查看Subversion Polling Log,已经有记录了,发现已经自动构建了一个版本

enter description here

完美!

作者:Jadepeng
出处:jqpeng的技术记事本--http://www.cnblogs.com/xiaoqi
您的支持是对博主最大的鼓励,感谢您的认真阅读。
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

Docker+Jenkins持续集成环境(2)使用docker+jenkins构建nodejs前端项目

Docker+Jenkins持续集成环境(2)使用docker+jenkins构建nodejs前端项目

前文使用Docker搭建Jenkins+Docker持续集成环境我们已经搭建了基于docker+jenkins的持续集成环境,并构建了基于maven的项目。这一节,我们继续扩展功能,增加对Nodejs的支持,实现nodejs项目构建、并打包成docker镜像和自动部署。

1. 配置Nodejs环境

1.1 安装nodejs插件

打开系统管理——管理插件——可选插件,搜索NodeJS,选择NodeJS Plugin安装

1.2 配置nodejs 版本

系统管理 —— 全局工具配置 —— NodeJS,选择安装nodejs,选择当前最新版本9.4,命名NodeJS 9.4。

2. 配置项目

2.1 新建项目

新建jenkins项目,选择自由项目,按前文说明配置好SVN、触发器。

在构建环境里,选择Provide Node & npm bin/ folder to PATH,选择我们配置的9.4版本nodejs

2.2 配置构建命令

一般是通过npm命令构建,我们选择增加构建步骤 —— Excute shell,输入构建命令:

alias cnpm="npm --registry=https://registry.npm.taobao.org \
--cache=$HOME/.npm/.cache/cnpm \
--disturl=https://npm.taobao.org/dist \
--userconfig=$HOME/.cnpmrc"
cnpm install 
cnpm run build

注意,这里为了构建更快,选择通过alias增加cnpm指令,指定使用淘宝的仓库。

2.3 构建docker镜像

由于我们构建出来的已经是可访问的资源了,放在dis目录,所以我们可以基于Nginx作为基础镜像。
编写DockerFile:

FROM Nginx
ADD ./dist /usr/share/Nginx/html
EXPOSE 80

然后,增加构建步骤,ADD build/publish docker image
设置image:192.168.86.8:5000/allinone-web-cicd
勾上push image,会自动push到192.168.86.8:5000仓库

enter description here

2.4 自动部署镜像

和上文一样,这里继续使用ssh实现docker镜像部署。

增加构建步骤,Execute shell script on remote host using ssh:

选择docker swarm的manager机器,输入命令:

docker service rm  allinone-web-cicd
docker service create --name allinone-web-cicd --replicas 1 --publish 10081:80 192.168.86.8:5000/allinone-web-cicd

这次,我们使用docker service来实现部署,先service rm掉老服务,然后create新服务。

3.测试构建

点击立即构建:

enter description here

稍等片刻,就构建成功了;

[SSH] executing...
allinone-web-cicd
mj9dwq00ath03i05b8bfe5plx
overall progress: 0 out of 1 tasks
1/1:  
overall progress: 0 out of 1 tasks
overall progress: 0 out of 1 tasks
overall progress: 0 out of 1 tasks
overall progress: 0 out of 1 tasks
overall progress: 0 out of 1 tasks
overall progress: 0 out of 1 tasks
overall progress: 1 out of 1 tasks
verify: Waiting 5 seconds to verify that tasks are stable...
verify: Waiting 5 seconds to verify that tasks are stable...
verify: Waiting 5 seconds to verify that tasks are stable...
verify: Waiting 5 seconds to verify that tasks are stable...
verify: Waiting 5 seconds to verify that tasks are stable...
verify: Waiting 4 seconds to verify that tasks are stable...
verify: Waiting 4 seconds to verify that tasks are stable...
verify: Waiting 4 seconds to verify that tasks are stable...
verify: Waiting 4 seconds to verify that tasks are stable...
verify: Waiting 4 seconds to verify that tasks are stable...
verify: Waiting 3 seconds to verify that tasks are stable...
verify: Waiting 3 seconds to verify that tasks are stable...
verify: Waiting 3 seconds to verify that tasks are stable...
verify: Waiting 3 seconds to verify that tasks are stable...
verify: Waiting 3 seconds to verify that tasks are stable...
verify: Waiting 2 seconds to verify that tasks are stable...
verify: Waiting 2 seconds to verify that tasks are stable...
verify: Waiting 2 seconds to verify that tasks are stable...
verify: Waiting 2 seconds to verify that tasks are stable...
verify: Waiting 2 seconds to verify that tasks are stable...
verify: Waiting 1 seconds to verify that tasks are stable...
verify: Waiting 1 seconds to verify that tasks are stable...
verify: Waiting 1 seconds to verify that tasks are stable...
verify: Waiting 1 seconds to verify that tasks are stable...
verify: Waiting 1 seconds to verify that tasks are stable...
verify: Service converged

[SSH] completed
[SSH] exit-status: 0

Finished: SUCCESS

这个时候,访问swarm集群的任一http://ip:10081,就可以看到效果了。

作者:Jadepeng
出处:jqpeng的技术记事本--http://www.cnblogs.com/xiaoqi
您的支持是对博主最大的鼓励,感谢您的认真阅读。
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

关于docker安装jenkins并用docker部署netdocker 安装jenkins的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于CentOS7 环境下使用docker安装jenkins、Docker 安装Jenkins、Docker+Jenkins持续集成环境(1)使用Docker搭建Jenkins+Docker持续集成环境、Docker+Jenkins持续集成环境(2)使用docker+jenkins构建nodejs前端项目等相关内容,可以在本站寻找。

本文标签:

上一篇使用 C# 9 的 records 作为强类型 ID - 路由和查询参数(c#强类型和弱类型)

下一篇Docker 查看应用的实际内存(docker查看内存占用)