云原生之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

相关文章
|
存储 Kubernetes 监控
Docker与Kubernetes集成挑战及方案
面对这些挑战,并不存在一键解决方案。如同搭建灌溉系统需要考虑多种因素,集成Docker与Kubernetes也需要深思熟虑的规划、相当的技术知识和不断的调试。只有这样,才能建立起一个稳定、健康、高效的Docker-Kubernetes生态,让你的应用像花园中的植物一样繁荣生长。
522 63
|
Prometheus 监控 Cloud Native
除了Prometheus,还有哪些工具可以监控Docker Swarm集群的资源使用情况?
除了Prometheus,还有哪些工具可以监控Docker Swarm集群的资源使用情况?
1098 79
|
关系型数据库 MySQL Linux
事项驱动的项目管理工具Dectask的Docker安装教程
Dectask是智能驱动的新一代项目协作工具,本人介绍其Docker安装教程。
334 2
|
Cloud Native 中间件 调度
云原生信息提取系统:容器化流程与CI/CD集成实践
本文介绍如何通过工程化手段解决数据提取任务中的稳定性与部署难题。结合 Scrapy、Docker、代理中间件与 CI/CD 工具,构建可自动运行、持续迭代的云原生信息提取系统,实现结构化数据采集与标准化交付。
1614 1
云原生信息提取系统:容器化流程与CI/CD集成实践
|
前端开发 数据安全/隐私保护 计算机视觉
MAZANOKE:一款隐私优先的浏览器图像优化工具及Docker部署指南
MAZANOKE 是一款简易的图片优化工具,它直接在浏览器中运行,支持离线使用,并确保您的图片始终保留在设备上,绝不外泄。 这款专为普通人设计的工具,适合与亲友分享使用,是那些来路不明的"免费"在线工具的可靠替代品。
648 1
MAZANOKE:一款隐私优先的浏览器图像优化工具及Docker部署指南
|
存储 数据可视化 数据安全/隐私保护
【赵渝强老师】Docker的图形化管理工具
本文介绍了三种主流的Docker图形化管理工具:Docker UI、Portainer和Shipyard。Docker UI(现名UI for Docker)适合初学者,支持容器管理并可显示容器关系图;Portainer轻量级且功能全面,支持单机与集群管理;Shipyard专注于多主机集群管理,提供镜像、容器及节点管理功能,并包含engine和rethinkdb两个核心组件。文中还通过图文结合的方式展示了各工具的安装与使用方法。
1303 5
【赵渝强老师】Docker的图形化管理工具
|
NoSQL Redis Docker
使用Docker Compose工具进行容器编排的教程
以上就是使用Docker Compose进行容器编排的基础操作。这能帮你更有效地在本地或者在服务器上部署和管理多容器应用。
940 11
|
人工智能 文字识别 安全
Stirling-PDF:51.4K Star!用Docker部署私有PDF工作站,支持50多种PDF操作,从此告别在线工具
Stirling-PDF 是一款基于 Docker 的本地化 PDF 编辑工具,支持 50 多种 PDF 操作,包括合并、拆分、转换、压缩等,同时提供多语言支持和企业级功能,满足个人和企业用户的多样化需求。
1720 6
Stirling-PDF:51.4K Star!用Docker部署私有PDF工作站,支持50多种PDF操作,从此告别在线工具
|
存储 开发工具 开发者
揭秘 Microsoft.Docker.SDK:让容器开发更轻松的强大工具揭秘
随着云计算和容器技术的快速发展,`Docker` 已经成为容器化技术的事实标准。`Microsoft` 作为 `Docker` 的主要支持者和参与者,推出了 `Microsoft.Docker.SDK`,旨在帮助开发者更轻松地进行容器开发。本文将深入揭秘 Microsoft.Docker.SDK 的功能、使用方法以及它在容器开发中的应用。
506 13
|
开发工具 虚拟化 git
自学软硬件第755 docker容器虚拟化技术youtube视频下载工具
docker容器虚拟化技术有什么用?怎么使用?TubeTube 项目使用youtube视频下载工具

热门文章

最新文章