在CentOS上安装Jenkins并配置Docker

news2024/11/18 3:20:41

文章目录

    • 步骤1 - 安装Java 11
    • 步骤2 - 安装Jenkins
    • 步骤3 - 安装Docker
    • 步骤4 - 配置Docker Cloud
    • 步骤 5 - 验证
    • 步骤 6 - 可能会遇到的问题

在本教程中,我们将展示如何在CentOS上安装Jenkins和Docker,并将它们配置在同一台机器上,使Jenkins能够使用Docker云。(故事背景:朋友有一台闲置的腾讯云服务器,想着闲来没事搭一套Jenkins,正好最近开始学习 GO。)

目标:每次 Gitee 进代码的时候,会自动触发 Jenkins 运行。至于为啥不是 GitHub,我最开始连接的就是 GitHub,但是网络不稳定,容易超时…

步骤1 - 安装Java 11

首先,我们需要在CentOS上安装Java 11。使用以下命令来安装:

sudo yum install java-11-openjdk-devel

您可以验证Java版本:

java -version

步骤2 - 安装Jenkins

接下来,我们将安装Jenkins。在CentOS上,我们可以使用以下命令来安装最新的LTS版本:

sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
sudo yum install jenkins

// 设置 Jenkins 开机自启动
sudo systemctl enable jenkins

Jenkins安装后将自动启动,您可以通过访问http://[your-server-IP]:8080来验证安装。您将在网页上看到一个页面,提示您输入密码。

要找到Jenkins的初始管理员密码,可以使用以下命令:

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

输入密码后,您将进入Jenkins的控制面板。

步骤3 - 安装Docker

接下来,我们将安装Docker。使用以下命令在CentOS上安装最新版的Docker:

sudo yum install docker

安装完成后,启动Docker, 并设置开机自启动:

sudo systemctl start docker
systemctl enable docker

验证Docker是否正在运行:

sudo systemctl status docker

image.png

步骤4 - 配置Docker Cloud

现在我们将配置Docker Cloud以在Jenkins中使用Docker云。在Jenkins控制面板中,单击左侧菜单中的“Manage Jenkins”,然后单击“Configure System”。

在“Configure System”页面中,向下滚动到“Cloud”部分,单击“Add a new cloud”下拉框中的“Docker”。在“Docker”部分中,填写以下信息:

  • Docker URL: unix:///var/run/docker.sock
  • Credentials: 点击"Add"创建Docker Hub凭据,输入您的Docker Hub用户名和密码。
  • Docker Agent templates: 点击“Add Docker Template”,在“Docker Image”输入框中输入Docker镜像名称(例如:docker.io/centos:latest),选择刚刚创建的凭据,并在“Volumes”下添加任何必要的卷。

如下图

image.png

保存配置更改后,单击Jenkins控制面板左侧菜单中的“New Item”创建一个新的Jenkins项目,例如名为“Docker Test”的项目。

在项目配置页面的“General”部分中,勾选“Restrict where this project can be run”,在“Label Expression”中输入“docker”,以使此项目在Docker云中运行。

最后,单击“Save”以保存

步骤 5 - 验证

创建验证的 pipeline:

  1. 点击主页右上角的 “New Item”
    image.png

  2. 按照下图的步骤,先填写 pipeline 的名称,然后选择 pipeline,最后点击 OK
    image.png

  3. 将下面的代码复制到下图的位置,然后点击 save

pipeline {
    agent {
        docker { image 'node:7-alpine' }
    }
    stages {
        stage('Test') {
            steps {
                sh 'node --version'
            }
        }
    }
}

image.png

  1. 点击 Build Now 运行

image.png

步骤 6 - 可能会遇到的问题

可能会遇到下面的问题,无法使用 docker 下载镜像,解决方法就是加权限

chmod 777 /var/run/docker.sock

image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/496501.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《花雕学AI》WeTab+ChatGPT:让浏览器变成你的智能助手

引言: 浏览器是我们日常使用的最重要的工具之一,它可以帮助我们获取信息、娱乐、学习、工作等。但是,传统的浏览器往往不能满足我们的个性化需求,也不能给我们提供智能化的服务。那么,有没有一种浏览器可以让我们的体…

yoloV2细节改进

文章目录 1 v2 细节升级概述2 .网络结构特点3. 架构细节解读4. 基于聚类来选择先验框尺寸5. 偏移量计算方法6. 坐标映射与还原7 感受野8. 特征融合的改进其他知识点filter 是什么? 1 v2 细节升级概述 2 .网络结构特点 使用dropout,杀死部分神经元&#…

Java集合之单列集合

分类 集合分为单列集合(Collection)和双列集合(Map) 单列集合的体系结构 List集合和Set集合的区别 List系列集合:添加元素是有序的(添加的顺序,而非数据的大小顺序)、可重复、有索引…

为什么在Ubuntu系统使用附加驱动更新Nvidia显卡驱动不起作用

1. 硬件环境 CPU:AMD Ryzen 9 5950x 16-core processor 32 GPU:双GeForce RTX 3090 操作系统:Ubuntu 22.04.2 LTS 64 位 主板:ASUS的ROG CROSSHAIR VIII EXTREME 2. 问题描述 使用上图所示的附加驱动程序更新Nvidia显卡驱动&am…

恢复item2和oh-my-zsh的配置

1. 首先正常安装item2 2. 加载onedrive里的传家宝iterm2_default_profile.json,让iterm2的配置生效 2. 然后正常安装oh-my-zsh (官方步骤: sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)&q…

C# 学习abstract

abstract 顾名思义:抽象 从微软官方文档来看:abstract 修饰符指示被修改内容的实现已丢失或不完整。 abstract 修饰符可用于类、方法、属性、索引和事件。 在类声明中使用 abstract 修饰符来指示某个类仅用作其他类的基类,而不用于自行进行…

linux内核调试的几个方法

参考 以下内容: Linux 笔记: https://xuesong.blog.csdn.net/article/details/109522945?spm1001.2014.3001.5502 printk: printk在内核源码中用来记录日志信息的函数,只能在内核源码范围内使用。用法和printf非常相似; printk…

InsCode体验报告

文章目录 前言一、InsCode是什么?二、体验过程1.创建项目2.在线IDE3.运行和部署项目4.浏览和学习项目5.分享和协作项目6.支持AI助手 三、体验感受优点缺点 总结 官方宣传视频 InsCode-AI 前言 作为一个大三计算机专业的学生,我对编程有着浓厚的兴趣和热…

Triloga 的任务 — Satta 系列来袭!

谁战胜了这些凶兽,谁就获得了力量,让我们通过装备体现出来!来自神秘洞穴的疯狂昆虫外壳,黄昏之地燃烧中的部落的骨质盔甲,以及深海的美妙灯光。 Triloga 的任务——Satta 系列已在 The Sandbox 市场平台上架&#xff1…

JVM(类的加载与ClassLoader、双亲委派机制)

文章目录 1. 类的生命周期2. 类的加载过程3. 类加载器(classloader)3.1 类加载器的作用3.2 类加载器的分类(JDK8)3.3 双亲委派机制3.3.1 双亲委派机制优势 3.4 查看某个类的类加载器对象3.5 使用ClassLoader获取流 1. 类的生命周期 类在内存中完整的生命周期&#…

( “ 图 “ 之 并查集 ) 684. 冗余连接 ——【Leetcode每日一题】

❓684. 冗余连接 难度:中等 树可以看成是一个连通且 无环 的 无向 图。 给定往一棵 n 个节点 (节点值 1~n ) 的树中添加一条边后的图。添加的边的两个顶点包含在 1 到 n 中间,且这条附加的边不属于树中已存在的边。图的信息记录于长度为 n…

基于 EKS Fargate 搭建微服务性能分析系统

背景 近期 Amazon Fargate 在中国区正式落地,因 Fargate 使用 Serverless 架构,更加适合对性能要求不敏感的服务使用,Pyroscope 是一款基于 Golang 开发的应用程序性能分析工具,Pyroscope 的服务端为无状态服务且性能要求不敏感&…

Java阶段二Day14

Java阶段二Day14 文章目录 Java阶段二Day14复习前日知识点SpringFramework版本SpringFramework核心SpringFramework创建工程SpringFramework相关概念bean对象的创建过程xml配置文件中的标签 基于XML管理bean对象类型属性的注入数组类型属性注入集合类型属性注入p命名空间引入外…

ConMask: Open-World Knowledge Graph Completion

目录 Abstract Introduction Model Relationship-Dependent Content Masking Target Fusion Loss Function [1711.03438] Open-World Knowledge Graph Completion (arxiv.org) Abstract 引入一个名为ConMask的开放世界KGC模型,该模型学习实体名称和部分文本…

数据结构与算法基础-学习-23-图之邻接矩阵与邻接表

目录 一、定义和术语 二、存储结构 1、邻接矩阵 1.1、邻接矩阵优点 1.2、邻接矩阵缺点 2、邻接表 3、邻接矩阵和邻接表的区别和用途 3.1、区别 3.2、用途 三、宏定义 四、结构体定义 1、邻接矩阵 2、邻接表 3、网数据类型(造测试数据) 五…

如何使用TRIZ理论来分析问题和解决问题?

文章目录 TRIZ基础现代TRIZ步骤 TRIZ基础 现代TRIZ 经典的TRIZ方法对专利进行分析,认为专利分为两个部分,一部分是需要解决的问题,一部分是解决问题的解决方案.首先是问题的分析,确定是否是初始问题,比如工具功能分析/特性传递等工具. 步骤 问题识别 主要是识别出初始问题;…

MATLAB实现建筑热平衡模型建立及节能温控方案

全球大约1/3的能源消耗于建筑。在能源紧张的今天,如何减少建筑的能源浪费是一个值得研究的课题。 本文在综合国内外建筑能耗模拟方法的基础上,采用热平衡法,针对一小型建筑建立了热特性仿真模型,选用武汉地区的气象数据&#xff…

JAVA11新特性

JAVA11新特性 概述 2018年9月26日,Oracle官方发布JAVA11.这是JAVA大版本周期变化后的第一个长期支持版本,非常值得关注.最新发布的JAVA11将带来ZGC HttpClient等重要特性,一共17个需要我们关注的JEP,参考文档http://openjdk.java.net/projects/jdk/11/ 181:基于嵌套的访问控制…

云计算适合大专生学吗?

云计算适合大专生学吗? 对于大专毕业生来说,云计算的确是一个不错的选择,因为云计算技术应用专业,主要就是专科院校在办学。不管你是计算机相关专业的,还是零基础想学习都是可以的;原因就在于云计算这门专业…

七款非常好用的 ChatGPT 开源插件

推荐7款很好用的 ChatGPT 开源插件 1. ChatGPT ProBot 这是一个基于chatGPT实现的Github机器人,可以让chatGPT帮你审核代码、重构代码,还可以在Github页面上和它进行聊天,咨询问题。 仓库地址: github.com/oceanlvr/Ch… 2.chatgpt-api 这…