docker部署Jenkins与任务创建【七千字超详细指南】

简介: docker部署Jenkins与任务创建【七千字超详细指南】

大家好,我是早九晚十二,目前是做运维相关的工作。写博客是为了积累,希望大家一起进步!

什么是jenkins?

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。

jenkins的功能

  • 持续的软件版本发布/测试项目
  • 监控外部调用执行的工作

    依赖环境

  • jdk1.5及以上(建议使用1.8)

    使用docker快速搭建

centos搭建docker请参照: centos7.2docker的基本使用

查看版本

[root@test ~]# docker --version
Docker version 20.10.8, build 3967b7d
[root@test ~]# cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)

下载jenkins镜像

jenkins官方镜像网站:请点我
image.png

### 使用docker指令拉取镜像
bash docker pull jenkins/jenkins:latest
当发现一直卡在下载进度条时(如下图),主要是因为拉取国外镜像的限速问题,这时我们可以更换国内的加速源解决此问题。
image.png

### 更换docker加速镜像

bash [root@test ~]# vim /etc/docker/daemon.json { "registry-mirrors": ["https://yxzrazem.mirror.aliyuncs.com"] } [root@test ~]# systemctl daemon-reload [root@test ~]# systemctl restart docker
更换完加速镜像后重新拉取jenkinsj即可
image.png

### 查看jenkins镜像

bash [root@test ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE jenkins/jenkins latest 55860ee0cd73 10 months ago 442MB
### 查看jenkins版本

bash [root@test ~]# docker inspect jenkins/jenkins|grep -i jenkins.*version "JENKINS_VERSION=2.328",
### 创建jenkins存储目录

bash [root@test ~]# mkdir /root/jenkins_home
### 构建jenkins容器

bash [root@test ~]# docker run -u root -d --name jenkins -p 9988:8080 -p 50000:50000 -v /root/jenkins_home:/var/jenkins_home jenkins/jenkins 8cbfeeccb96163f29d4eb64b9ee9b46b6206bbb5ceb2adb9bdf5b9aa233d8007
--name jenkins 代表容器名称
-p 50000:50000 ,这个端口映射要保持一致,为agent服务端口
/root/jenkins_home:/var/jenkins_home 为服务挂载到宿主机的路径

登录jenkins页面

浏览器访问 http://192.168.120.178:9988,出现下图页面即为正常
image.png

查看密码文件

[root@test ~]# docker exec -ti jenkins bash
root@8cbfeeccb961:/# cat /var/jenkins_home/secrets/initialAdminPassword 
b117506d55844bf7bc4aa5bf349cf1ea
#也可以直接在宿主机操作cat /root/jenkins_home/secrets/initialAdminPassword ,是一样的效果

将查询到的密码复制粘贴到管理员页面,并登录
image.png

安装完插件后,点击使用admin账户继续
image.png

设置访问jenkins仓库的根地址,默认即可
image.png

image.png
image.png

配置jenkins插件更新源

image.png
image.png
image.png
image.png

安装插件

如 pipeline/git等插件
image.png
image.png
image.png
image.png

重启jenkins

添加agent节点

image.png
image.png
image.png
image.png

命令行代理方式

在命令行中启动节点
curl -sO http://192.168.120.178:9988/jnlpJars/agent.jar
java -jar agent.jar -jnlpUrl http://192.168.120.178:9988/manage/computer/build/jenkins-agent.jnlp -secret 4c439cd1b1091a4499b4b5274d2cf4f376b0b0b8767830527a91a1c98d1e2ac2 -workDir "/opt/jenkins"
Or run from agent command line, with the secret stored in a file:
echo 4c439cd1b1091a4499b4b5274d2cf4f376b0b0b8767830527a91a1c98d1e2ac2 > secret-file
curl -sO http://192.168.120.178:9988/jnlpJars/agent.jar
java -jar agent.jar -jnlpUrl http://192.168.120.178:9988/manage/computer/build/jenkins-agent.jnlp -secret @secret-file -workDir "/opt/jenkins"

权限管理

安装授权插件 Role-based Authorization Strategy 用户项目授权。
image.png

点击系统管理-全局安全配置进行策略管理。
image.png
image.png

系统配置界面出现一个 “Manage and Assign Roles”,点击进入
image.png

凭据管理

点击系统管理-Manage Credentials 设置凭据
image.png
image.png
image.png

用户管理

image.png

新增用户

点击create user,填写相关信息后确认。
image.png
image.png
image.png

系统版本及插件信息

点击系统管理-关于jenkins,即可查看插件版本等信息。
image.png
image.png

新建任务

点击面板新建任务
image.png

选择构建一个自由模式的软件项目,比较常用、通用
image.png

出现以下页面即为创建成功,输入项目描述
image.png

点击源码管理,可以设置源码管理方式(可选择Git CVS等,插件管理手动安装即可,我这里只安装的git,所以只显示git和none),以及触发器等(图中设置的是每天0点执行)。
image.png

任务构建的主角:构建环境
选择shell,即支持shell命令
image.png

选择shell之后,设置需要定时执行的指令,如不需要可以手动删除image.png

构建完成之后,点击保存
image.png

如下图,出现绿色标记即为成功(前面多次失败是因为容器内没有free命令,临时换了echo命令)
image.png

查看控制台输出详情
image.png
image.png

至此,jenkins搭建、配置、及任务创建完成。

码字不易。如果文章对您有希望的话,请三连支持一波。
如有问题,欢迎留言,一起探讨,感谢。
也可关注早九晚十二微信公众号,看到留言后会第一时间回复。

相关文章
|
1月前
|
人工智能 API 数据安全/隐私保护
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
NextChat 是一个可以在 GitHub 上一键免费部署的私人 ChatGPT 网页应用,支持 GPT3、GPT4 和 Gemini Pro 模型。该项目在 GitHub 上获得了 63.8k 的 star 数。部署简单,只需拉取 Docker 镜像并运行容器,设置 API Key 后即可使用。此外,NextChat 还提供了预设角色的面具功能,方便用户快速创建对话。
142 22
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
|
15天前
|
运维 jenkins Java
Jenkins 自动化局域网管控软件构建与部署流程
在企业局域网管理中,Jenkins 作为自动化工具,通过配置源码管理、构建及部署步骤,实现了高效、稳定的软件开发与部署流程,显著提升局域网管控软件的开发与运维效率。
36 5
|
16天前
|
Java 应用服务中间件 Docker
将基于 Spring 的 WAR 应用程序部署到 Docker:详尽指南
将基于 Spring 的 WAR 应用程序部署到 Docker:详尽指南
22 2
|
22天前
|
Java Linux Docker
什么是 Docker?如何将 Spring Boot 应用程序部署到 Docker?
什么是 Docker?如何将 Spring Boot 应用程序部署到 Docker?
39 3
|
29天前
|
机器学习/深度学习 数据采集 Docker
Docker容器化实战:构建并部署一个简单的Web应用
Docker容器化实战:构建并部署一个简单的Web应用
|
1月前
|
运维 开发者 Docker
Docker Compose:简化容器化应用的部署与管理
Docker Compose:简化容器化应用的部署与管理
|
26天前
|
持续交付 开发者 Docker
掌握Docker容器化技术,加速软件开发与部署
掌握Docker容器化技术,加速软件开发与部署
45 0
|
4月前
|
运维 Java Devops
阿里云云效操作报错合集之部署docker时遇到报错,该怎么办
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
运维 Kubernetes 前端开发
【云原生】阿里云服务器部署 Docker Swarm集群
阿里云服务器 一键部署 Docker Swarm 集群!
687 0
【云原生】阿里云服务器部署 Docker Swarm集群
|
弹性计算 数据可视化 关系型数据库
使用阿里云部署基于docker的mysql云服务
本篇文章将介绍如何使用阿里云安装docker、部署mysql服务,并远程连接至远端mysql
699 1
使用阿里云部署基于docker的mysql云服务