有谁知道是否可以通过 Jenkins 的 InfluxDB 插件将自定义指标发送到 VictoriaMetrics 服务器?在文档中提到 VictoriaMetrics 支持 Influx 线路协议,但如果这些插件使用它或以其他方式将数据放在服务器上,我找不到信息。
如果有人可能有机会连接这两者,那么从服务器获取这样的自定义数据到例如grafana是否容易?
有谁知道是否可以通过 Jenkins 的 InfluxDB 插件将自定义指标发送到 VictoriaMetrics 服务器?在文档中提到 VictoriaMetrics 支持 Influx 线路协议,但如果这些插件使用它或以其他方式将数据放在服务器上,我找不到信息。
如果有人可能有机会连接这两者,那么从服务器获取这样的自定义数据到例如grafana是否容易?
我在脚本中使用 Jenkins CLI 来实现一些 Jenkins 自动化(https://www.jenkins.io/doc/book/managing/cli/)。
根据文档,您必须首先从 Jenkins 主机下载 .jar。
目前我正在通过运行来做到这一点wget http://localhost:8080/jnlpJars/jenkins-cli.jar
但是我想减少脚本中的步骤数量,所以我想跳过那个下载步骤,jenkins-cli.jar
直接在 Jenkins 服务器上找到它,而不是先下载它。
我尝试跑步find / -name "jenkins-cli.jar"
没有成功。
有谁知道它存储在哪里?它肯定存在于某个地方,因为您可以直接从 Jenkins 主机下载它。
我用我的詹金斯工作运行了 pip freeze 命令,下面是输出
pip freeze
fpdf==1.7.2
textfile==0.1.4
pip install textfile
Requirement already satisfied: textfile in c:\python39\lib\site-packages (0.1.4)
但是当我将 python 脚本作为作业运行时,出现如下错误。
$ python C:\Users\ADMINI~1\AppData\Local\Temp\jenkins2938633000292670144.py
Traceback (most recent call last):
File "C:\Users\ADMINI~1\AppData\Local\Temp\jenkins2938633000292670144.py", line 1, in <module>
import textile
ModuleNotFoundError: No module named 'textile'
Build step 'Execute Python script' marked build as failure
No emails were triggered.
Finished: FAILURE
安装 Jenkins(老式方式,而不是 docker 容器)后,我意识到当前的 Jenkins 网络配置(所有默认设置)不允许我代理来自 nginx 的 https 请求。
所以我遇到了jenkins 网络配置,但是从它的编写方式来看,我不知道是否必须停止 jenkins,并使用这些标志重新运行它;或者如果我需要卸载它并以某种方式使用这些重新安装它。
我应该如何配置詹金斯?
当我将标签应用于节点时,它按预期工作并且能够选择该节点的工作。
但是,如果我应用多个标签,它就不起作用。正如我所观察到的,它将它们都视为单个标签。
示例:标签:devbuild
它正在与工作一起工作。
但,
标签:devbuild,installernode
它不适用于任何带有“devbuild”或“installernode”标签的作业,即使我尝试过;但同样的问题。
请建议如何将多个标签应用于单个节点。
在 CICD 配置中,我使用 Jenkins 作为 CI 服务器,部署应该在 EC2 Amazon Linux 上进行。
我尝试在 Jenkins 中添加我的 SSH 配置,但 SSH 连接失败..!
这里的问题是我的 EC2 实例SSH 身份验证需要 PublicKey、键盘交互......!
除了密钥身份验证之外,我还为我的 EC2 实例启用了谷歌身份验证器..!
有人可以告诉我在部署期间通过 Jenkins 配置/绕过键盘交互式身份验证的方法吗
我正在尝试在 Digital Ocean Kubernetes 集群中设置 Jenkins。我正在使用 NGINX 入口控制器,因为我想从子域(jenkins.example.com)访问我的服务器。到目前为止一切正常,我在所述域上使用自定义证书保护了我的 UI。在尝试将代理(或我在其他地方读到的从属设备?)连接到服务器时,我开始遇到问题。
我试过的
我试图设置一个负载均衡器,但由于我使用的是 Digital Ocean 并且我发现的大多数文档都是针对 GKE / EKS 和其他具有自己内部 LB 的文档,所以我无法让它工作。我还尝试在服务的端口名称上映射路由/agents
,然后在另一个具有“ClusterIP”类型的服务上映射,但没有成功(从 Jenkins 中找不到)。
我目前的配置
詹金斯部署.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: jenkins-dep
labels:
app: jenkins
spec:
replicas: 1
selector:
matchLabels:
app: jenkins
template:
metadata:
labels:
app: jenkins
spec:
containers:
- name: jenkins
image: jenkins/jenkins:lts-jdk11
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8080
- containerPort: 50000
詹金斯-service.yaml
apiVersion: v1
kind: Service
metadata:
name: jenkins-svc
labels:
app: jenkins
spec:
type: NodePort
selector:
app: jenkins
ports:
- name: ui
protocol: TCP
port: 8080
targetPort: 8080
nodePort: 32500
- name: agents
protocol: TCP
port: 50000
targetPort: 50000
nodePort: 32501
詹金斯入口.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: jenkins-ingress
spec:
tls:
- hosts:
- jenkins.example.com
secretName: tls-secret
rules:
- host: jenkins.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: jenkins-svc
port:
name: ui
#- path: /agents
# pathType: Prefix
# backend:
# service:
# name: jenkins-svc
# port:
# name: agents
底线是:我如何使 Jenkins 端口 50000 可供代理连接到我的服务器上?或者我如何更改 Jenkins 设置以适应这样的配置?
我们在 gitlab 上调用了我们的共享库mainlibrary
,它有很多 groovy 文件。
在 mainlibrary gitlab repo 中的示例我们有以下文件。
startup_pipeline.groovy
cleanup_pipeline.groovy
在我们的一项 Jenkins 工作中,我们需要在Jenkinsfile
. 这可能吗?
这是看起来的Jenkinsfile
样子:
@Library('mainlibrary')_
startup_pipeline(email:'[email protected]')
我可以Jenkinsfile
像这样将第二个 groovy 函数文件包含在其中吗?
@Library('mainlibrary')_
startup_pipeline(email:'[email protected]'),
cleanup_pipeline(email:'[email protected]')
您好,我使用 jenkins groovy 文件来管理管道的步骤。
结构就像:
> ```
>
> 2 pipeline 3 {
> 4 agent none
> 5
> 6 options {
> 7 timeout(time: 240, unit: 'MINUTES')
> 8 }
> 9
> 10 stages {
> 11 stage ("clean xxxxxxx") {
> 12 agent {
> 13 node {
> 14 label "xxxxxxx"
> 15 customWorkspace "F:\\xxxxxxx"
> 16 }
> 17 }
> 18 steps
> 19 {
> 20 script
> 21 {
> 22 bat """
> 23 f:
> 24 cd \\
> 25 python
> xxxxxxx/scripts/pipeline/removeOldJenkinsBuildDir.py --nbdays 30
> --delete yes 26 python
> xxxxxxx/scripts/pipeline/cleanDotConan.py f: --delete
> 27 Powershell("Get-wmiObject -Class
> win32_logicaldisk")
> 28 """
> 29 }
> 30 }
> 31 }
>
> ```
对于我列表中的每个节点,依此类推。
我的问题
如果一个步骤失败了所有其余的开始并忽略消息:
Stage "clean XXXXXXXX" skipped due to earlier failure(s)
。
所以跳过了步骤,但我真的希望它们运行。
我的目标
在这里设置一些东西可能在步骤或更高级别,以避免跳过并强制运行所有步骤。我能做些什么呢?更改选项集?为每个步骤添加选项?
(事实上我发现了很多例子;但无法使用它们或崩溃了:))