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

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

相关文章
|
10月前
|
应用服务中间件 网络安全 nginx
手把手教你使用 Docker 部署 Nginx 教程
本文详解Nginx核心功能与Docker部署优势,涵盖镜像拉取、容器化部署(快速、挂载、Compose)、HTTPS配置及常见问题处理,助力高效搭建稳定Web服务。
4219 4
|
10月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
464 5
|
10月前
|
存储 NoSQL Redis
手把手教你用 Docker 部署 Redis
Redis是高性能内存数据库,支持多种数据结构,适用于缓存、消息队列等场景。本文介绍如何通过Docker快速拉取轩辕镜像并部署Redis,涵盖快速启动、持久化存储及docker-compose配置,助力开发者高效搭建稳定服务。
2909 8
|
10月前
|
存储 搜索推荐 数据库
🚀 RAGFlow Docker 部署全流程教程
RAGFlow是开源的下一代RAG系统,融合向量数据库与大模型,支持全文检索、插件化引擎切换,适用于企业知识库、智能客服等场景。支持Docker一键部署,提供轻量与完整版本,助力高效搭建私有化AI问答平台。
8485 8
|
10月前
|
存储 关系型数据库 MySQL
MySQL Docker 容器化部署全指南
MySQL是一款开源关系型数据库,广泛用于Web及企业应用。Docker容器化部署可解决环境不一致、依赖冲突问题,实现高效、隔离、轻量的MySQL服务运行,支持数据持久化与快速迁移,适用于开发、测试及生产环境。
1313 4
|
10月前
|
Kubernetes jenkins 持续交付
Artifact Hub在Kubernetes中的应用:部署Jenkins的脚本整理
以上步骤断言清晰明确地描述了如何通过Artifact Hub 使用Helm图表来部署Kubernetes 中得Jenkis 实例,并且提供了相应得Shell 脚本作为执行指南. 这样不但能够帮助用户快速地进行操作, 同时也能够通过自定义参数来满足不同用户需求.
328 5
|
运维 Java Devops
阿里云云效操作报错合集之部署docker时遇到报错,该怎么办
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
运维 Kubernetes 前端开发
【云原生】阿里云服务器部署 Docker Swarm集群
阿里云服务器 一键部署 Docker Swarm 集群!
1242 0
【云原生】阿里云服务器部署 Docker Swarm集群
|
弹性计算 数据可视化 关系型数据库
使用阿里云部署基于docker的mysql云服务
本篇文章将介绍如何使用阿里云安装docker、部署mysql服务,并远程连接至远端mysql
1186 1
使用阿里云部署基于docker的mysql云服务

热门文章

最新文章