当前位置: 首页 > 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 函数用于在一个字符串中查找另一个字符串的首次出现…...

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)

说明&#xff1a; 想象一下&#xff0c;你正在用eNSP搭建一个虚拟的网络世界&#xff0c;里面有虚拟的路由器、交换机、电脑&#xff08;PC&#xff09;等等。这些设备都在你的电脑里面“运行”&#xff0c;它们之间可以互相通信&#xff0c;就像一个封闭的小王国。 但是&#…...

基于大模型的 UI 自动化系统

基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

2024年赣州旅游投资集团社会招聘笔试真

2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

k8s业务程序联调工具-KtConnect

概述 原理 工具作用是建立了一个从本地到集群的单向VPN&#xff0c;根据VPN原理&#xff0c;打通两个内网必然需要借助一个公共中继节点&#xff0c;ktconnect工具巧妙的利用k8s原生的portforward能力&#xff0c;简化了建立连接的过程&#xff0c;apiserver间接起到了中继节…...

人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式

今天是关于AI如何在教学中增强学生的学习体验&#xff0c;我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育&#xff0c;这并非炒作&#xff0c;而是已经发生的巨大变革。教育机构和教育者不能忽视它&#xff0c;试图简单地禁止学生使…...

虚拟电厂发展三大趋势:市场化、技术主导、车网互联

市场化&#xff1a;从政策驱动到多元盈利 政策全面赋能 2025年4月&#xff0c;国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》&#xff0c;首次明确虚拟电厂为“独立市场主体”&#xff0c;提出硬性目标&#xff1a;2027年全国调节能力≥2000万千瓦&#xff0…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...

AI语音助手的Python实现

引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...