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搭建、配置、及任务创建完成。

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

相关文章
|
6天前
|
人工智能 API 数据安全/隐私保护
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
NextChat 是一个可以在 GitHub 上一键免费部署的私人 ChatGPT 网页应用,支持 GPT3、GPT4 和 Gemini Pro 模型。该项目在 GitHub 上获得了 63.8k 的 star 数。部署简单,只需拉取 Docker 镜像并运行容器,设置 API Key 后即可使用。此外,NextChat 还提供了预设角色的面具功能,方便用户快速创建对话。
55 22
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
|
17天前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
58 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
8天前
|
运维 开发者 Docker
Docker Compose:简化容器化应用的部署与管理
Docker Compose:简化容器化应用的部署与管理
|
8天前
|
Docker 微服务 容器
使用Docker Compose实现微服务架构的快速部署
使用Docker Compose实现微服务架构的快速部署
18 1
|
20天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
48 2
|
21天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
29 3
|
8天前
|
前端开发 开发者 Docker
深入探索Docker Compose:简化多容器应用的部署
深入探索Docker Compose:简化多容器应用的部署
31 0
|
5天前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker和Kubernetes入门
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性和效率的关键。本篇文章将引导读者了解如何利用Docker进行容器化打包及部署,以及Kubernetes集群管理的基础操作,帮助初学者快速入门云原生的世界。通过实际案例分析,我们将深入探讨这些技术在现代IT架构中的应用与影响。
25 2
|
3天前
|
运维 Cloud Native 虚拟化
一文吃透云原生 Docker 容器,建议收藏!
本文深入解析云原生Docker容器技术,涵盖容器与Docker的概念、优势、架构设计及应用场景等,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
一文吃透云原生 Docker 容器,建议收藏!
|
11天前
|
关系型数据库 MySQL API