问题:
我正在进行CI设置以配置github - Jenkins web钩子,用于在github上使用代码提交触发构建.以下是当前配置详细信息
Jenkins的工作与手动构建完美配合.但是当在github上完成代码提交时,它不起作用(自动构建触发器).
需要帮助:
有没有人尝试使用saltstack创建AWS AMI(图像).
我尝试使用它能够从现有的AMI创建新实例,但如何使用salt-cloud创建图像?
也尝试使用boto_ec2,但它给出了模块'boto_ec2'不可用的错误.
我们的设置
此设置在两个集群中复制,用于称为元数据和缓存.我们想要部署更多集群.
主持人
是我们构建的python守护程序,它订阅了sentinels pub/sub并侦听+ switch-master消息.以下是协调人采取的行动:
SENTINEL get-master-addr-by-name mymaster问题
因为奴隶每天可以根据交通进出多次,所以我们最终会遇到属于同一个奴隶争夺同一奴隶的哨兵的一些奴隶.这是因为IP池在集群之间共享,并且据我们所知,从属ID是它们的IP.
这是复制的方法:
哨兵陷入无休止的循环中,永远为这种资源而战.即使我们只有一个哨兵小组管理具有不同主名称的两个redis群集,这种情况也会发生.这使我们相信哨兵不了解不同群集之间的资源,而只是分别对每个群集执行合乎逻辑的操作.
解决方案我们试过
SENTINEL reset mymaster+ sdown事件后,尝试让哨兵忘记该节点.问题是,如果该集群正在执行主故障转移,它可能会生成竞争条件.我们成功地复制了这个假设,并且让哨兵不同步,其中一个指向一个主人,另外两个指向另一个.理想的解决方案
Redis哨兵提供SENTINEL removeslave 172.24.246.142 mymaster我们可以在每次有奴隶的+ sdown事件时运行.这将使该群集忘记那个奴隶曾经存在而不会产生副作用SENTINEL reset …
我试图使用GIT插件Jenkins从GIT中获取代码,并且该作业正在从属机器上运行.
MASTER 系统有 http_proxy=mycom.domain.com:80
在SLAVE系统中没有http_proxy定义.
每当我在SLAVE机器中进行本地git clone时它都能很好地工作,但是从Jenkins我没有成功.
它抛出以下错误:
Building remotely on SLAVE in workspace /data/test
> /usr/bin/git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
> /usr/bin/git config remote.origin.url https://github.domain.com/Project-Digital/Project-eCommerce.git # timeout=10
Fetching upstream changes from https://github.domain.com/Project-Digital/Project-eCommerce.git
> /usr/bin/git --version # timeout=10
using GIT_ASKPASS to set credentials
Setting http proxy: mycom.domain.com:80
> /usr/bin/git fetch --tags --progress https://github.domain.com/Project-Digital/Project-eCommerce.git +refs/heads/*:refs/remotes/origin/*
ERROR: Error fetching remote repo 'origin'
hudson.plugins.git.GitException: Failed to fetch from https://github.domain.com/Project-Digital/Project-eCommerce.git
at …Run Code Online (Sandbox Code Playgroud) 我需要对 Snyk 和 Sonarcloud/Sonarqube 的特性和功能进行比较,我唯一能找到的是速度比较:
https://snyk.io/blog/sast-tools-speed-comparison-snyk-code-sonarqube-lgtm/
....有谁知道两者之间是否有特性和功能的比较?如果是的话,请告诉我去哪里看?
预先非常感谢您对此提供的任何帮助。
我正在使用 GitHub Actions 和 Terraform 构建 CI/CD 管道。我有一个如下所示的 main.tf 文件,我从多个环境的 GitHub 操作中调用该文件。我正在使用https://github.com/hashicorp/setup-terraform与 GitHub 操作中的 Terraform 进行交互。我有 MyService 组件,并且正在部署到 DEV、UAT 和 PROD 环境。我想在所有环境中重用 main.tf 并动态设置工作区名称,如下所示:MyService-DEV、MyService-UAT、MyService-PROD。terraform/cloud 块中不允许使用变量。我正在使用 HashiCorp 云来存储状态。
terraform {
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "~> 2.0"
}
}
cloud {
organization = "tf-organization"
workspaces {
name = "MyService-${env.envname}" #<==not allowed to use variables
}
}
}
Run Code Online (Sandbox Code Playgroud)
更新
我终于成功地启动并运行了这个程序并提供了有用的评论。以下是我的发现:
我正在尝试使用 terraform 部署新的基础设施(第一次),但出现以下错误。我已经尝试了一切,但似乎没有任何办法可以解决问题。
\n看起来它正在要求提供者hashicorp/azure?
\n有人可以帮忙吗?
\nInitializing provider plugins...\n- Finding latest version of hashicorp/azure...\n- Finding hashicorp/azurerm versions matching "2.98.0"...\n- Installing hashicorp/azurerm v2.98.0...\n- Installed hashicorp/azurerm v2.98.0 (signed by HashiCorp)\n\xe2\x95\xb7\n\xe2\x94\x82 Error: Failed to query available provider packages\n\xe2\x94\x82 \n\xe2\x94\x82 Could not retrieve the list of available versions for provider hashicorp/azure: provider registry registry.terraform.io does not have a provider named registry.terraform.io/hashicorp/azure\n\xe2\x94\x82 \n\xe2\x94\x82 Did you intend to use terraform-providers/azure? If so, you must specify that source address in each module which …Run Code Online (Sandbox Code Playgroud) 在我正在开发的单页应用程序中,我使用 Vite,在我的vite.config.ts文件中我有以下代理:
proxy: {
'/v1': {
target: 'https://127.0.0.1:8080',
changeOrigin: true,
secure: false
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法根据是否在生产环境中来改变这个目标?就像是:
proxy: {
'/v1': {
target: isDev ? 'https://127.0.0.1:8080' : 'https://api.example.com',
changeOrigin: isDev,
secure: !isDev
}
}
Run Code Online (Sandbox Code Playgroud)
也就是说,在我的本地环境中,我想针对本地服务器进行开发,这样我的 fetch API 调用就会fetch("/v1/get-posts")被转发到https://127.0.0.1:8080/v1/get-posts,但在我的生产构建(我通过vite build)中创建,它们将被转发到:https://api.example.com/v1/get-posts
这可以做到吗?如果可以,如何做到?
我尝试安装 codedeploy 代理ubuntu 22.04但不起作用。我已经ruby 2.6.0通过 rbenv 安装了。
ubuntu@ip-172-31-37-7:~$ sudo ./install --sanity-check deb
I, [2022-08-10T06:26:28.905059 #47961] INFO -- : Starting Ruby version check.
I, [2022-08-10T06:26:28.905394 #47961] INFO -- : Starting update check.
I, [2022-08-10T06:26:28.905593 #47961] INFO -- : Checking AWS_REGION environment variable for region information...
I, [2022-08-10T06:26:28.905770 #47961] INFO -- : Checking EC2 metadata service for region information...
I, [2022-08-10T06:26:28.921018 #47961] INFO -- : Checking AWS_DOMAIN environment variable for domain information...
I, [2022-08-10T06:26:28.921228 #47961] INFO -- : …Run Code Online (Sandbox Code Playgroud) amazon-ec2 amazon-web-services server aws-code-deploy devops
我们按照这些说明使用 DataDog 的操作符在 Kubernetes 1.22 集群中设置 DataDog。这是通过 helm 安装的,没有任何自定义。
Operator、集群代理和每节点代理 Pod 均按预期运行。我们知道代理能够与 DataDog 端点成功通信,因为我们的新集群显示在 DataDog 的基础设施列表视图中。
然而,来自我们应用程序 Pod 的日志没有出现在 DataDog 中,我们正在努力找出原因。
我们确实确认了一些明显的事情:
agent.log.enabled在我们的代理规范中是正确的(下面包含完整的 YAML)。/var/log/pods/,并且包含我们期望的日志行。因此,代理与 DataDog UI 中可用的日志之间似乎出现了问题。有谁对如何调试这个有任何想法?
我们的代理配置:
apiVersion: datadoghq.com/v1alpha1
kind: DatadogAgent
metadata:
name: datadog
namespace: datadog
spec:
agent:
apm:
enabled: false
config:
tolerations:
- operator: Exists
image:
name: "gcr.io/datadoghq/agent:latest"
log:
enabled: true
process:
enabled: false
processCollectionEnabled: false
clusterAgent:
config:
admissionController:
enabled: true
mutateUnlabelled: …Run Code Online (Sandbox Code Playgroud) devops ×10
amazon-ec2 ×2
git ×2
github ×2
jenkins ×2
autoscaling ×1
azure ×1
azure-devops ×1
datadog ×1
devsecops ×1
hashicorp ×1
http-proxy ×1
kubernetes ×1
logging ×1
redis ×1
salt-cloud ×1
salt-stack ×1
server ×1
snyk ×1
sonarcloud ×1
sonarqube ×1
terraform ×1
typescript ×1
vite ×1