云原生之docker部署jenkins持续集成工具

简介: 云原生之docker部署jenkins持续集成工具

一、jenkins介绍

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

二、jenkins功能

  • 一个自动构建过程,包括自动编译、分发、部署和测试等。
  • 一个代码存储库,即需要版本控制软件来保障代码的可维护性,同时作为构建过程的素材库。
  • 一个持续集成服务器。

    三、检查本地docker状态

[root@node ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2022-11-06 06:02:26 CST; 6min ago
     Docs: https://docs.docker.com
 Main PID: 9869 (dockerd)
    Tasks: 76
   Memory: 185.2M
   CGroup: /system.slice/docker.service
           ├─ 9869 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
           ├─20064 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 3548 -container-ip 172.17.0.2 -container-port 3306
           ├─20074 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 3548 -container-ip 172.17.0.2 -container-port 3306
           ├─20107 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8080 -container-ip 172.17.0.3 -container-port 80
           ├─20113 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 8080 -container-ip 172.17.0.3 -container-port 80
           ├─20489 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 9010 -container-ip 172.17.0.4 -container-port 9000
           ├─20495 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 9010 -container-ip 172.17.0.4 -container-port 9000
           ├─20514 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8120 -container-ip 172.17.0.4 -container-port 80
           ├─20525 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 8120 -container-ip 172.17.0.4 -container-port 80
           ├─20563 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 443 -container-ip 172.17.0.4 -container-port 443
           └─20574 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 443 -container-ip 172.17.0.4 -container-port 443

Nov 06 06:02:22 node dockerd[9869]: time="2022-11-06T06:02:22.858540089+08:00" level=info msg="Removing stale sandbox 1f9c7c1980061b426...89cfa96)"
Nov 06 06:02:22 node dockerd[9869]: time="2022-11-06T06:02:22.873645768+08:00" level=warning msg="Error (Unable to complete atomic oper...ying...."
Nov 06 06:02:22 node dockerd[9869]: time="2022-11-06T06:02:22.953940543+08:00" level=info msg="Removing stale sandbox 4a120cc4b61f298f2...ec3e139)"
Nov 06 06:02:22 node dockerd[9869]: time="2022-11-06T06:02:22.954941579+08:00" level=warning msg="Error (Unable to complete atomic oper...ying...."
Nov 06 06:02:22 node dockerd[9869]: time="2022-11-06T06:02:22.982064143+08:00" level=info msg="Default bridge (docker0) is assigned wit... address"
Nov 06 06:02:26 node dockerd[9869]: time="2022-11-06T06:02:26.676985427+08:00" level=info msg="Loading containers: done."
Nov 06 06:02:26 node dockerd[9869]: time="2022-11-06T06:02:26.706262799+08:00" level=info msg="Docker daemon" commit=a89b842 graphdrive...=20.10.17
Nov 06 06:02:26 node dockerd[9869]: time="2022-11-06T06:02:26.706381481+08:00" level=info msg="Daemon has completed initialization"
Nov 06 06:02:26 node systemd[1]: Started Docker Application Container Engine.
Nov 06 06:02:26 node dockerd[9869]: time="2022-11-06T06:02:26.742893105+08:00" level=info msg="API listen on /var/run/docker.sock"
Hint: Some lines were ellipsized, use -l to show in full.

四、下载jenkins镜像

[root@node ~]# docker pull jenkins/jenkins
Using default tag: latest
latest: Pulling from jenkins/jenkins
0e29546d541c: Already exists 
11bbb8c402a7: Pull complete 
cf91f018150b: Pull complete 
a98e88c6f0f0: Pull complete 
f67fc70d671a: Pull complete 
edbe48067464: Pull complete 
fa23ca93dd6b: Pull complete 
00159d993c13: Pull complete 
f28fb40a17cf: Pull complete 
071d309df04b: Pull complete 
78599f36e494: Pull complete 
896a32d969fb: Pull complete 
3f1a51ea9f7f: Pull complete 
26e724f0bfad: Pull complete 
b377e1ae1384: Pull complete 
d3cdbe7e8b9f: Pull complete 
f3b40ebc3458: Pull complete 
Digest: sha256:c3fa8e7f70d1e873ea6aa87040c557aa53e6707eb1d5ecace7f6884a87588ac8
Status: Downloaded newer image for jenkins/jenkins:latest
docker.io/jenkins/jenkins:latest

五、部署jenkins

1.创建数据目录

[root@node ~]# mkdir -p /data/jenkins/data
[root@node ~]# chmod -R 777 /data/jenkins/data/
[root@node ~]#

2.创建jenkins容器


[root@node jenkins]# docker run -d --name jenkins  --restart always -p 8774:8080  -p 50100:50000 -v  /data/jenkins/data/:/var/jenkins_home  -v /etc/localtime:/etc/localtime   jenkins/jenkins
b44ef8c88d09e5eebb996c91691101fb534859aa3185bdc8bf3c0a8ebf443cbf

3.查看jenkins容器状态

[root@node jenkins]# docker ps
CONTAINER ID   IMAGE                                                          COMMAND                  CREATED         STATUS          PORTS                                                                                                                     NAMES
b44ef8c88d09   jenkins/jenkins                                                "/sbin/tini -- /usr/…"   2 minutes ago   Up 2 minutes    0.0.0.0:8774->8080/tcp, :::8774->8080/tcp, 0.0.0.0:50100->50000/tcp, :::50100->50000/tcp                                  jenkins

六、配置jenkins镜像加速

[root@node data]# cat hudson.model.UpdateCenter.xml 
<?xml version='1.1' encoding='UTF-8'?>
<sites>
  <site>
    <id>default</id>
    <url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>
  </site>
</sites>

七、访问jenkins

[root@node data]# cat secrets/initialAdminPassword 
9e501f00a41f472292367def3724d81b
[root@node data]#

image.png

八、jenkins初始化及安装插件

image.png
image.png

九、创建管理员账号

image.png

image.png

十、进入jenkins首页

image.png

相关文章
|
5月前
|
弹性计算 机器人 应用服务中间件
一键部署开源Qwen3并集成到钉钉、企业微信
Qwen3系列模型现已正式发布并开源,包含8款“混合推理模型”,其中涵盖两款MoE模型(Qwen3-235B-A22B与Qwen3-30B-A3B)及六个Dense模型。阿里云计算巢已支持Qwen3-235B-A22B和Qwen3-32B的私有化部署,用户可通过计算巢轻松完成部署,并借助AppFlow集成至钉钉机器人或企业微信。文档详细介绍了从模型部署、创建应用到配置机器人的全流程,帮助用户快速实现智能助手的接入与使用。
420 19
一键部署开源Qwen3并集成到钉钉、企业微信
|
3月前
|
存储 文字识别 自然语言处理
通义大模型在文档自动化处理中的高效部署指南(OCR集成与批量处理优化)
本文深入探讨了通义大模型在文档自动化处理中的应用,重点解决传统OCR识别精度低、效率瓶颈等问题。通过多模态编码与跨模态融合技术,通义大模型实现了高精度的文本检测与版面分析。文章详细介绍了OCR集成流程、批量处理优化策略及实战案例,展示了动态批处理和分布式架构带来的性能提升。实验结果表明,优化后系统处理速度可达210页/分钟,准确率达96.8%,单文档延迟降至0.3秒,为文档处理领域提供了高效解决方案。
415 0
|
4月前
|
JSON 缓存 并行计算
NVIDIA 实现通义千问 Qwen3 的生产级应用集成和部署
阿里巴巴近期开源了通义千问Qwen3大语言模型(LLM),包含两款混合专家模型(MoE)235B-A22B与30B-A3B,以及六款稠密模型(Dense)从0.6B到32B不等。开发者可基于NVIDIA GPU使用TensorRT-LLM、Ollama、SGLang、vLLM等框架高效部署Qwen3系列模型,实现快速词元生成和生产级应用开发。
|
1月前
|
运维 Dubbo Cloud Native
Dubbo 云原生重构出击:更快部署、更强控制台、更智能运维
Apache Dubbo 最新升级支持云原生,提供一键部署微服务集群与全新可视化控制台,提升全生命周期管理体验,助力企业高效构建云原生应用。
230 25
|
2月前
|
Cloud Native 中间件 调度
云原生信息提取系统:容器化流程与CI/CD集成实践
本文介绍如何通过工程化手段解决数据提取任务中的稳定性与部署难题。结合 Scrapy、Docker、代理中间件与 CI/CD 工具,构建可自动运行、持续迭代的云原生信息提取系统,实现结构化数据采集与标准化交付。
107 1
云原生信息提取系统:容器化流程与CI/CD集成实践
|
4月前
|
Prometheus 监控 Cloud Native
除了Prometheus,还有哪些工具可以监控Docker Swarm集群的资源使用情况?
除了Prometheus,还有哪些工具可以监控Docker Swarm集群的资源使用情况?
390 79
|
7月前
|
人工智能 Kubernetes jenkins
容器化AI模型的持续集成与持续交付(CI/CD):自动化模型更新与部署
在前几篇文章中,我们探讨了容器化AI模型的部署、监控、弹性伸缩及安全防护。为加速模型迭代以适应新数据和业务需求,需实现容器化AI模型的持续集成与持续交付(CI/CD)。CI/CD通过自动化构建、测试和部署流程,提高模型更新速度和质量,降低部署风险,增强团队协作。使用Jenkins和Kubernetes可构建高效CI/CD流水线,自动化模型开发和部署,确保环境一致性并提升整体效率。
|
2月前
|
NoSQL Redis Docker
使用Docker Compose工具进行容器编排的教程
以上就是使用Docker Compose进行容器编排的基础操作。这能帮你更有效地在本地或者在服务器上部署和管理多容器应用。
313 11
|
2月前
|
物联网 Linux 开发者
快速部署自己私有MQTT-Broker-下载安装到运行不到一分钟,快速简单且易于集成到自己项目中
本文给物联网开发的朋友推荐的是GMQT,让物联网开发者快速拥有合适自己的MQTT-Broker,本文从下载程序到安装部署手把手教大家安装用上私有化MQTT服务器。
857 5
|
3月前
|
存储 数据可视化 数据安全/隐私保护
【赵渝强老师】Docker的图形化管理工具
本文介绍了三种主流的Docker图形化管理工具:Docker UI、Portainer和Shipyard。Docker UI(现名UI for Docker)适合初学者,支持容器管理并可显示容器关系图;Portainer轻量级且功能全面,支持单机与集群管理;Shipyard专注于多主机集群管理,提供镜像、容器及节点管理功能,并包含engine和rethinkdb两个核心组件。文中还通过图文结合的方式展示了各工具的安装与使用方法。
167 4
【赵渝强老师】Docker的图形化管理工具