当前位置: 首页 > news >正文

anolis os 8.9安装jenkins

一、系统版本

# cat /etc/anolis-release 
Anolis OS release 8.9

二、安装

# dnf install -y epel-release

# wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

# rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

三、安装jdk node

下载:Java Archive Downloads - Java SE 21

# tar -zxf jdk-21.0.5_linux-x64_bin.tar.gz -C /usr/local/

下载:Index of /dist/v20.13.1/

# tar -xf node-v20.13.1-linux-x64.tar.xz -C /usr/local/

# vi /etc/profile

export JAVA_HOME=/usr/local/jdk-21.0.5

export NODE_HOME=/usr/local/node-v20.13.1-linux-x64
export PATH=${MAVEN_HOME}/bin:$JAVA_HOME/bin:${NODE_HOME}/bin:${PATH}

# source /etc/profile

# java --version
java 21.0.5 2024-10-15 LTS
Java(TM) SE Runtime Environment (build 21.0.5+9-LTS-239)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.5+9-LTS-239, mixed mode, sharing)

# node -v
v20.13.1
[root@jekins-anolis-2-100 local]# npm -v
10.5.2

# npm config set registry http://registry.npmmirror.com

# npm install -g pnpm

# pnpm -v
10.3.0

四、安装jenkins

# dnf install jenkins -y

三、启动

# vi /usr/lib/systemd/system/jenkins.service

Environment="JAVA_HOME=/usr/local/jdk-21.0.5"

# systemctl daemon-reload

# systemctl daemon-reload
# systemctl start jenkins

# systemctl enable jenkins

四、配置

修改密码:

点击继续使用admin账户后的密码,如果忘记修改密码退出后,按下面操作:

# cat /var/lib/jenkins/secrets/initialAdminPassword

五、安装插件

语言:

六、配置

6.1 nodejs配置

6.2 git配置

七、kubernetes配置

7.1 账户配置

7.2 clouds配置

八、jenkins使用docker问题解决

8.1 提示docker:permission denied

# cd /var/run/

# ls -lh docker.sock

srw-rw----  1 root           docker            0 2月  12 11:39 docker.sock

# chmod o+rw docker.sock 
# ls -lh docker.sock 
srw-rw-rw- 1 root docker 0 2月  12 11:39 docker.sock

8.2  denied: requested access to the resource is denied

# docker login 192.168.x.x

会在宿主目录生成下面文件:

# ls .docker/
config.json

拷贝到/var/lib/jenkins下,并修改权限:

# cp -r .docker /var/lib/jenkins/

# chown -R jenkins:jenkins /var/lib/jenkins/.docker
# ls -lh /var/lib/jenkins/.docker
-rw------- 1 jenkins jenkins  80 2月  12 14:14 config.json

九、jenkins配置k8s的managed files

十、测试代码

def gitlab_auth="20968eb7-xxxx-xxxx-xxxx-xxxxxxxxxx"
def gitlab_url="http://git.kyc.com/20220712dev/platform-crm.git"
def k8s_auth = "1b56a2fa-7117-xxxx-xxxx-xxxxxxxxxxxx"
pipeline {agent anyenvironment {IMAGE_BUILD="${BUILD_ID}"JOB_NAME="${env.JOB_NAME}"}parameters {choice (choices: ['master'], description: '指定配置文件',name: 'config')}stages {stage('拉取代码'){steps {checkout([$class: 'GitSCM', branches: [[name: '*/master']], extensions: [], userRemoteConfigs: [[credentialsId: "${gitlab_auth}", url: "${gitlab_url}"]]])}}stage('daima代码编译'){steps {sh """cd ${JOB_NAME}echo "代码编译"source /etc/profilenode --versionnpm config set prefix '~/.npm-global'npm config set registry https://registry.npmmirror.comnpm install -g pnpmpnpm installnpm run buildcd dist/tar -czf ../dist.tar ./*"""}}stage('Dockerfile'){steps{sh '''cd ${JOB_NAME}cat > Dockerfile <<EOF
FROM registry.openanolis.cn/openanolis/nginx:1.14.1-8.6
ADD dist.tar /usr/share/nginx/html
EOF'''}}stage('制作上传镜像'){steps{sh '''cd ${JOB_NAME}docker build -t 192.168.2.51/crm/${JOB_NAME}:${IMAGE_BUILD} .docker push 192.168.2.51/crm/${JOB_NAME}:${IMAGE_BUILD}docker rmi 192.168.2.51/crm/${JOB_NAME}:${IMAGE_BUILD}'''}}stage('远程清理'){steps{sh '''cd ${JOB_NAME}rm -rf dist.tar'''}}stage('yaml'){steps{sh '''cat > /var/lib/jenkins/workspace/${JOB_NAME}/${JOB_NAME}/${JOB_NAME}.yaml <<EOF
apiVersion: apps/v1
kind: Deployment
metadata:name: crm-webnamespace: crm
spec:replicas: 2selector:matchLabels:app: crm-webtemplate:metadata:labels:app: crm-webspec:containers:- name: crm-webimage: 192.168.2.51/crm/${JOB_NAME}:${IMAGE_BUILD}ports:- containerPort: 80envFrom:volumeMounts:- name: crm-webmountPath: /usr/share/nginx/html/environment.jssubPath: environment.js- name: tzmountPath: /etc/localtimelivenessProbe:tcpSocket:port: 80initialDelaySeconds: 40periodSeconds: 10readinessProbe:tcpSocket:port: 80initialDelaySeconds: 40periodSeconds: 10volumes:- name: crm-webconfigMap:name: environmentitems:- key: "environment.js"path: "environment.js"- name: tzhostPath:path: /etc/localtimednsPolicy: "None"dnsConfig:nameservers:- 10.96.0.10searches:- svc.cluster.local- cluster.local
---
apiVersion: v1
kind: Service
metadata:name: crm-webnamespace: crm
spec:type: NodePortselector:app: crm-webports:- protocol: TCPport: 80targetPort: 80nodePort: 31641
EOF'''}}stage('应用发布'){steps{configFileProvider([configFile(fileId: "${k8s_auth}", targetLocation: "admin.kubeconfig")]){sh"""cd ${JOB_NAME}kubectl apply -f ${JOB_NAME}.yaml -n crm --kubeconfig=../admin.kubeconfig"""}}}stage("info"){steps{sh """echo "${JOB_NAME}使用的端口号是:192.168.2.34:31641""""}}}
}

--kubeconfig=../admin.kubeconfig

这个需要根据实际目录去写:

相关文章:

anolis os 8.9安装jenkins

一、系统版本 # cat /etc/anolis-release Anolis OS release 8.9 二、安装 # dnf install -y epel-release # wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo # rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.…...

HtmlRAG:RAG系统中,HTML比纯文本效果更好

HtmlRAG 方法通过使用 HTML 而不是纯文本来增强 RAG 系统中的知识表示能力。通过 HTML 清洗和两步块树修剪方法&#xff0c;在保持关键信息的同时缩短了 HTML 文档的长度。这种方法优于现有基于纯文本的RAG的性能。 方法 其实主要看下围绕html提纯思路&#xff0c;将提纯后的…...

TypeScript 中的 reduce计算统计之和

1、计算字符串数组中最大的一项&#xff0c;比如数组&#xff1a;list ["家长会,柘城,喝士大夫","模压,手动阀,阿斯蒂"]&#xff0c;求出list中字符串长度之和最大的那项&#xff1a; // 初始化变量来存储字数之和最多的项及其字数之和let maxWord ;let…...

HTTP/2 由来及特性

HTTP/2 的由来 HTTP/1.x 的局限性 性能瓶颈 队头阻塞问题&#xff1a;在HTTP/1.x中&#xff0c;一个TCP连接在同一时间只能处理一个请求&#xff0c;后续请求必须等待前面的请求处理完成并收到响应后才能被处理。例如&#xff0c;当一个页面有多个资源&#xff08;如图片、脚…...

android 安装第三方apk自动赋予运行时权限

摘要&#xff1a;行业机使用场景点击运行时权限很麻烦&#xff0c;而随着android的演进&#xff0c;对于权限的管控越发严格。故本文通过对系统的修改实现第三方app在运行时直接获取全部权限。 通过属性ro.perms.force_grant控制功能开关。 Index: frameworks/base/services/…...

PyTorch Lightning LightningDataModule 介绍

LightningDataModule 是 PyTorch Lightning 提供的数据模块,用于统一管理数据加载流程(包括数据准备、预处理、拆分、批量加载等)。它的核心作用是将数据处理逻辑与模型解耦,提高代码的可复用性和可读性。 1. LightningDataModule 的作用 ✅ 封装数据预处理:数据下载、清…...

windows平台上 oracle简单操作手册

一 环境描述 Oracle 11g单机环境 二 基本操作 2.1 数据库的启动与停止 启动: C:\Users\Administrator>sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on 星期五 7月 31 12:19:51 2020 Copyright (c) 1982, 2013, Oracle. All rights reserved. 连接到:…...

【网络安全 | 漏洞挖掘】价值3133美元的Google IDOR

未经许可,不得转载。 文章目录 正文正文 目标URL:REDACTED.google.com。 为了深入了解其功能,我查阅了 developer.google.com 上的相关文档,并开始进行测试。 在测试过程中,我发现了一个 XSS 漏洞,但它触发的域名是经过正确沙盒化的 *.googleusercontent.com,这符合 …...

LabVIEW太阳能制冷监控系统

在全球能源需求日益增长的背景下&#xff0c;太阳能作为一种无限再生能源&#xff0c;被广泛应用于各种能源系统中。本基于LabVIEW软件和STM32F105控制器的太阳能制冷监控系统的设计与实现&#xff0c;提供一个高效、经济的太阳能利用方案&#xff0c;以应对能源消耗的挑战。 项…...

10.2 Git 内部原理 - Git 对象

Git 对象 Git 是一个内容寻址文件系统&#xff0c;听起来很酷。但这是什么意思呢&#xff1f; 这意味着&#xff0c;Git 的核心部分是一个简单的键值对数据库&#xff08;key-value data store&#xff09;。 你可以向 Git 仓库中插入任意类型的内容&#xff0c;它会返回一个唯…...

作业。。。。。

顺序表按元素删除 参数&#xff1a;删除元素&#xff0c;顺序表 1.调用元素查找的函数 4.根据下表删除 delete_sub(list,sub); //删除元素 void delete_element(int element, Sqlist *list) …...

android 的抓包工具

charles 抓包工具 官网地址 nullCharles Web Debugging Proxy - Official Sitehttps://www.charlesproxy.com/使用手册一定记得看官网 SSL Certificates • Charles Web Debugging Proxy http请求&#xff1a; 1.启动代理&#xff1a; 2.设置设备端口 3.手机连接当前代理 …...

深入剖析推理模型:从DeepSeek R1看LLM推理能力构建与优化

著名 AI 研究者和博主 Sebastian Raschka 又更新博客了。原文地址&#xff1a;https://sebastianraschka.com/blog/2025/understanding-reasoning-llms.html。这一次&#xff0c;他将立足于 DeepSeek 技术报告&#xff0c;介绍用于构建推理模型的四种主要方法&#xff0c;也就是…...

linux中top命令详解

linux中top命令详解 top 是 Linux 中用于实时监控系统资源使用情况的命令&#xff0c;显示包括 CPU、内存、进程等信息的动态视图。以下是 top 命令的详细说明&#xff1a; 命令格式 top [选项] 常用选项 -d&#xff1a;设置刷新间隔时间&#xff08;秒&#xff09;。 -n&am…...

前端包管理器的发展以及Npm、Yarn和Pnpm对比

在现代前端开发中&#xff0c;包管理器是不可或缺的核心工具。随着 JavaScript 生态的快速发展&#xff0c;开发者经历了从 npm 一统天下到 Yarn 挑战格局&#xff0c;再到 pnpm 创新突破的技术演进。这里将对三种主流包管理器&#xff08;npm/Yarn/pnpm&#xff09;进行全方位…...

node.js+兰空图床实现随机图

之前博客一直用的公共的随机图API&#xff0c;虽然图片的质量都挺不错的&#xff0c;但是稳定性都比较一般&#xff0c;遂打算使用之前部署的兰空图床&#xff0c;自己弄一个随机图 本文章服务器操作基于雨云——新一代云服务提供商的云服务器进行操作&#xff0c;有兴趣的话可…...

【MySQL】高频 SQL 50 题(基础版)

高频SQL50题&#xff08;基础版&#xff09; 1.查询 2.连接 MySQL多表查询&#xff08;联合查询、连接查询、子查询&#xff09; left join 左连接 我们首先执行LEFT JOIN操作&#xff0c;将两个表的数据基于 id 列进行组合。同样&#xff0c;我们使用 LEFT JOIN 来确保将所…...

盛铂科技 SMF106 低相位噪声贴片式频率综合器模块

在现代通信和电子设备领域&#xff0c;频率综合器作为关键组件&#xff0c;其性能优劣直接影响系统的整体表现。盛铂科技的 SMF106 低相位噪声贴片式频率综合器&#xff0c;以其卓越的性能和独特设计&#xff0c;成为众多高性能系统的选择。 一、频率覆盖范围广&#xff0c;步进…...

C语言如何实现面向对象?——从结构体到自由函数的思考

1. 问题的背景 面向对象编程&#xff08;OOP&#xff09;是一种广泛使用的编程范式&#xff0c;其核心思想包括封装、继承和多态。C、Java等语言原生支持OOP&#xff0c;但C语言作为一门面向过程的语言&#xff0c;是否也能实现面向对象&#xff1f;如果可以&#xff0c;如何实…...

深入探索C语言中的字符串处理函数:strstr与strtok

在C语言的字符串处理领域&#xff0c; strstr 和 strtok 是两个非常重要的函数&#xff0c;它们各自承担着独特的功能&#xff0c;为开发者处理字符串提供了强大的支持。 一、strstr函数&#xff1a;字符串查找的利器 strstr 函数用于在一个字符串中查找另一个字符串的首次出现…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候&#xff0c;写过一篇简单实现&#xff0c;后期随着对该模型的深入研究&#xff0c;本次记录涉及到prophet 的公式以及参数调优&#xff0c;从公式可以更直观…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表&#xff0c;若其中包含环&#xff0c;则输出环的入口节点。 若其中不包含环&#xff0c;则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2

每日一言 今天的每一份坚持&#xff0c;都是在为未来积攒底气。 案例&#xff1a;OLED显示一个A 这边观察到一个点&#xff0c;怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 &#xff1a; 如果代码里信号切换太快&#xff08;比如 SDA 刚变&#xff0c;SCL 立刻变&#…...

STM32---外部32.768K晶振(LSE)无法起振问题

晶振是否起振主要就检查两个1、晶振与MCU是否兼容&#xff1b;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容&#xff08;CL&#xff09;与匹配电容&#xff08;CL1、CL2&#xff09;的关系 2. 如何选择 CL1 和 CL…...

tomcat入门

1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效&#xff0c;稳定&#xff0c;易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...

HybridVLA——让单一LLM同时具备扩散和自回归动作预测能力:训练时既扩散也回归,但推理时则扩散

前言 如上一篇文章《dexcap升级版之DexWild》中的前言部分所说&#xff0c;在叠衣服的过程中&#xff0c;我会带着团队对比各种模型、方法、策略&#xff0c;毕竟针对各个场景始终寻找更优的解决方案&#xff0c;是我个人和我司「七月在线」的职责之一 且个人认为&#xff0c…...

门静脉高压——表现

一、门静脉高压表现 00:01 1. 门静脉构成 00:13 组成结构&#xff1a;由肠系膜上静脉和脾静脉汇合构成&#xff0c;是肝脏血液供应的主要来源。淤血后果&#xff1a;门静脉淤血会同时导致脾静脉和肠系膜上静脉淤血&#xff0c;引发后续系列症状。 2. 脾大和脾功能亢进 00:46 …...

嵌入式面试常问问题

以下内容面向嵌入式/系统方向的初学者与面试备考者,全面梳理了以下几大板块,并在每个板块末尾列出常见的面试问答思路,帮助你既能夯实基础,又能应对面试挑战。 一、TCP/IP 协议 1.1 TCP/IP 五层模型概述 链路层(Link Layer) 包括网卡驱动、以太网、Wi‑Fi、PPP 等。负责…...

Selenium 查找页面元素的方式

Selenium 查找页面元素的方式 Selenium 提供了多种方法来查找网页中的元素&#xff0c;以下是主要的定位方式&#xff1a; 基本定位方式 通过ID定位 driver.find_element(By.ID, "element_id")通过Name定位 driver.find_element(By.NAME, "element_name"…...