我有一个 Azure CLI 脚本,它在 Cloud Shell 中运行得很好,但当我尝试将其包含在 devops 发布管道中时遇到了麻烦。出于调试目的,我已将脚本简化为仅作为服务主体登录,然后检索版本...
az login --service-principal -u http://[Service Principal name] -p [Service Principal password] --tenant [Service Principal tenant GUID]
az --version
Run Code Online (Sandbox Code Playgroud)
...但它仍然会出现同样的错误。
以下是我的Azure CLI任务的属性:
脚本类型:Shell
脚本位置:Inline script
内联脚本:[如上所述]
脚本参数:
访问脚本中的服务主体详细信息:false
使用全局 Azure CLI 配置:false
工作目录:
标准错误失败:false
已启用:true
出现错误时继续:false*
环境变量:
错误是:
2020-06-15T12:46:39.8710944Z ##[错误]错误代码:[1]
2020-06-15T12:46:39.8724737Z ##[错误]错误:Azure 登录失败
2020-06-15T12:46:39.8728448 Z ##[error]脚本失败,出现错误:获取令牌请求返回 http 错误:401 和服务器响应:{“error”:“invalid_client”,“error_description”:“AADSTS7000222:提供的客户端密钥已过期。请访问 Azure用于为应用程序创建新密钥的门户,或考虑使用证书凭据来提高安全性: https: //learn.microsoft.com/azure/active-directory/develop/active-directory-certificate-credentials
跟踪 ID:d0f42793-739e- 4ce9-9118-5049086aa800
相关 ID:2ad50471-9c2a-4c02-a4d0-189efad2f0c8
时间戳:2020-06-15 12:46:39Z","error_codes":[7000222],"timestamp":"2020-06-15 …
我使用 MERN 制作了一个全栈 Web 应用程序,并使用 Kubernetes 集群进行部署。
除了一个问题之外,该应用程序运行良好。也就是说,我(作为用户)能够从浏览器访问 API,例如www.domain-name/api/orders,它为我提供了 JSON 响应。
这是我不想要的。我需要隐藏/限制它。
我使用 NGINX-INGRESS 进行路由:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-service
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/use-regex: 'true'
spec:
rules:
- host: shopify.dev
http:
paths:
- path: /api/users/?(.*)
backend:
serviceName: auth-srv
servicePort: 3000
- path: /api/orders/?(.*)
backend:
serviceName: orders-srv
servicePort: 3000
- path: /?(.*)
backend:
serviceName: client-srv
servicePort: 3000
Run Code Online (Sandbox Code Playgroud)
由于请求 /api 和 /* (前端)都是通过 nginx-ingress 路由的,这是应该如何工作的?解决这个问题的办法是什么?
通常我会这样做:
sudo -su postgres
psql
\password
\q
Run Code Online (Sandbox Code Playgroud)
更改 postgres 密码。现在我想使用 ansible 自动执行此步骤。
我有运行 nginx Debian GNU/Linux 9的 unix 服务器
我试图在 Nginx access.log 文件中获取每个 IP 每个请求的请求计数以进行分析,所以我有 2 个问题:
Run Code Online (Sandbox Code Playgroud)IP count 127.0.0.1 4 127.0.0.2 5 127.0.0.3 6
我发现了这个,但它只计算 ips
sudo awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr
Run Code Online (Sandbox Code Playgroud) devops azure-devops azure-pipelines devops-services azure-devops-extensions
是否有任何简单的方法可以使用 API 或脚本来获取过去一年在所有作业上执行的所有构建的列表以及触发构建作为报告的用户?
我在 GKE 上使用 cert-manager v1.0.0,我尝试使用 acme 的暂存环境,它工作正常,但是当转移到生产时,我可以发现创建的证书卡在 Created new CertificateRequest resources 上,之后没有任何变化
我希望看到证书的创建成功,并将证书的状态从 false 更改为 true,就像暂存中发生的那样
环境详情::
Kubernetes 版本 (v1.18.9): Cloud-provider/provisioner (GKE): cert-manager 版本 (v1.0.0): 安装方法 (helm)
这是我的 clusterIssuer yaml 文件
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: i-storage-ca-issuer-prod
namespace: default
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
email: MY_EMAIL_HERE
privateKeySecretRef:
name: i-storage-ca-issuer-prod
solvers:
- http01:
ingress:
class: gce
Run Code Online (Sandbox Code Playgroud)
这是我的入口 yaml 文件
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: i-storage-core
namespace: i-storage
annotations:
kubernetes.io/ingress.global-static-ip-name: i-storage-core-ip
cert-manager.io/cluster-issuer: i-storage-ca-issuer-prod
labels:
app: i-storage-core
spec:
tls:
- hosts:
- …Run Code Online (Sandbox Code Playgroud) 我本质上必须运行一个 Python 脚本,该脚本将 AZ CLI 命令嵌入到脚本中,并从模块中生成为进程subprocess。为了运行这些命令,我需要登录到 AZ CLI。
我的管道中有一个 AZ CLI 任务,其中的设置为addSpnToEnvironment = true 我提供了$env:servicePrincipalId,$env:servicePrincipalKey和$env:tenantId。我的问题是,现在如何使用这些详细信息登录到 AZ CLI,以便在任务中维护上下文,并且我的 Python 脚本中的 AZ CLI 命令可以识别这一点并可以执行?
azure devops azure-devops azure-pipelines azure-service-principal
我知道从发布管道触发构建管道是非常规的,但就我而言,这是我的需要。在 Azure DevOps 中,我有一个触发发布管道的构建管道,然后在发布中完成所有阶段后,我想触发另一个构建管道。该构建管道将负责更新我的 git 存储库中的 json 文件。为了能够访问 git 存储库并进行更改/提交,我需要使用构建管道。我有一个解决方法,可以在发布管道中克隆 git 存储库并进行更新,但这“感觉不对”。我希望找到更好的解决方案。
注意:在 git commit 消息中我将有[skip ci],所以不会有触发器或管道的无限循环......
git continuous-integration azure continuous-deployment devops
您好,我是 github actions 的新手,我正在尝试使用 Github action 创建 CICD pipline。我正在使用数字海洋水滴作为我的服务器,并且我正在尝试创建一个跑步者,如 github->settings->actions 中所述
当我写下以下命令时
./config.sh --url https://github.com/basobaasnepal/BasobaasWeb --token DFGFSDF234sf3fg45hd
我得到了这个: 不能使用 sudo 运行
我尝试将 root 用户更改为非 root 用户,但没有成功。我也尝试export {AGENT_ALLOW_RUNASROOT="1"}过
devops ×10
azure ×3
azure-devops ×2
kubernetes ×2
ansible ×1
api ×1
azure-cli ×1
azure-pipelines-release-pipeline ×1
cert-manager ×1
docker ×1
git ×1
groovy ×1
jenkins ×1
nginx ×1
node.js ×1
pipeline ×1
postgresql ×1
scripting ×1
ssl ×1
unix ×1