根据我刚刚遇到的情况,gitlab-ci.yml 文件中的“needs”行仅检查“needs”行中定义的作业是否正在运行 - 而不是它是否通过或失败。
我在管道中运行了以下代码,即使“test-tag”作业失败,“build-latest”作业也会运行。
我只希望在“测试标签”作业通过时运行“构建最新”作业。
这是如何实现的?
build-latest:
stage: publish
image:
name: gcr.io/go-containerregistry/crane:debug
entrypoint: [""]
rules:
#- if: $CI_COMMIT_TAG != null
- if: $CI_COMMIT_REF_NAME == "add-latest-tagging"
when: always
needs:
- test-tag
script:
- crane auth login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
Run Code Online (Sandbox Code Playgroud) 我执行了以下操作,但无法安装 pip3。任何帮助表示赞赏!
sudo yum install python3 pip3
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Package python3-3.7.9-1.amzn2.0.2.x86_64 already installed and latest version
No package pip3 available.
Nothing to do
Run Code Online (Sandbox Code Playgroud)
我在此之前运行 sudo yum update 没有任何问题。
我发现的帖子表明这应该有效。
这是 Amazon Linux 2 上的最新 AMI 中的内容。
我从一年前提出的系统中设置了注释,当时就可以使用了。他们打破了什么东西吗?
我正在尝试使用 powershell 使以下 docker run 命令在 Windows 10 中工作。
我熟悉 Windows Ubuntu,但我需要从 powershell 运行它(不要问!)
Docker 确实有效 - 我运行了 Docker 让您执行的简单构建,以确认安装正常。在尝试以下命令时,它给了我一个巨大的错误。我怀疑它来自“-v”?我确实环顾四周,但没有发现与此类问题相关的任何实质内容。
这是我正在运行的命令:
docker run --rm -v C:\PycharmProjects\thera\docker-template\laravel-app:\app composer install
Run Code Online (Sandbox Code Playgroud)
这是回应:
docker run --rm -v C:\PycharmProjects\thera\docker-template\laravel-app:\app composer install
C:\Program Files\Docker\Docker\resources\bin\docker.exe: Error response from daemon: status code not OK but 500: {"Message":"Unhandled exception: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))","StackTrace":" at Windows.UI.Notifications.ToastNotifier.Show(ToastNotification notification)\r\n at Docker.WPF.PromptShareDirectory.<PromptUserAsync>d__0.MoveNext() in C:\\workspaces\\stable-2.3.x\\src\\github.com\\docker\\pinata\\win\\src\\Docker.WPF\\PromptShareDirectory.cs:line 26\r\n--- End of stack trace from previous location where exception was thrown …Run Code Online (Sandbox Code Playgroud) 我有一个预构建的 JAR 文件,我想将其上传到 GitLab 包注册表中,以便在执行构建时可以使用它。
这是我第一次使用 Maven 并在这里上传所以新手警报!
在我的 GitLab 项目中,我确实看到有一个标题为“包注册表”的部分。我认为我需要将其上传到那里。
我发现以下命令可能会解决问题:
mvn deploy:deploy-file -DgroupId=com.acme.group -DartifactId=project-name \
-Dversion=1.2.3 -Dpackaging=jar -Dfile="test.jar" \
-Durl=https://gitlab-np-services.com/Ernie/ernie-sandbox-1/-/packages
-DrepositoryId=project-name
Run Code Online (Sandbox Code Playgroud)
我不知道要为“DrepositoryId”、“DartifactId”输入什么。我在输入内容中假设的另一个字段。
我如何知道在这些字段中放置什么?
我运行它并得到以下信息:
Uploading to remote-repository: https://gitlab-np.services.com/Ernie/ernie-sandbox-1/-/packages/com/acme/group/project-name/1.2.3/project-name-1.2.3.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.793 s
[INFO] Finished at: 2021-06-01T15:51:09-05:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy-file (default-cli) on project standalone-pom: Failed to deploy artifacts: Could not transfer artifact com.acme.group:project-name:jar:1.2.3 from/to remote-repository (https://gitlab-np-services.com/Ernie/ernie-sandbox-1/-/packages): transfer failed for https://gitlab-np.services.com/Ernie/ernie-sandbox-1/-/packages/com/acme/group/project-name/1.2.3/project-name-1.2.3.jar, status: 422 Unprocessable Entity -> [Help …Run Code Online (Sandbox Code Playgroud) 如果我单独运行以下命令,我会得到预期的结果 -
这 :
aws cloudfront list-cloud-front-origin-access-identities | jq -r ' .CloudFrontOriginAccessIdentityList.Items[] | select(.Comment == "Created for Nackle Shared CF in pprd").Id'
Run Code Online (Sandbox Code Playgroud)
返回这个:
E1P6ZIBDB6I6FZ
Run Code Online (Sandbox Code Playgroud)
如何使用 Terraform 外部数据源获得相同的结果?
我试过这个:
data "external" "json" {
program = ["sh", "-c", "aws cloudfront list-cloud-front-origin-access-identities | jq -r ' .CloudFrontOriginAccessIdentityList.Items[] | select(.Comment == "Created for Nackle Shared CF in pprd").Id'"]
}
output "map" {
value = ["${values(data.external.json.result)}"]
}
Run Code Online (Sandbox Code Playgroud)
但当我运行 Terraform apply 时它返回此错误 -
Expected a comma to mark the beginning of the next item.
Run Code Online (Sandbox Code Playgroud)
我假设正确写入时“值”将是 E1P6ZIBDB6I6FZ …
我有一个我们设置的 Azure DevOps 工件源。在与工件相同的项目中,我创建了一个 gradle 构建,并使用令牌作为密码,我可以访问工件提要以使其访问工件。我部门的某人认为可能有一种方法可以在没有令牌的情况下访问工件存储库。我尝试使用 System.AccessToken 但它不起作用。也许有不同的方法来设置工件?
这是我的 gradle.build 文件:
credentials {
username "Testuser"
DevOps Services_ENV_ACCESS_TOKEN") : vstsMavenAccessToken
//password "<using raw token works>"
//password System.getenv("SYSTEM_ACCESSTOKEN")
password System.getenv("TOKEN")
}
Run Code Online (Sandbox Code Playgroud)
这是我的 azure-pipelines.yml,我在其中定义了在 build.gradle 文件中使用的变量。token 是一个环境变量,我已将其设置为我的实际令牌(有效)。如果我交换它并使用 System.AccessToken 它不起作用:
steps:
- task: Gradle@2
inputs:
workingDirectory: ''
gradleWrapperFile: 'gradlew'
gradleOptions: '-Xmx3072m'
javaHomeOption: 'JDKVersion'
jdkVersionOption: '1.11'
jdkArchitectureOption: 'x64'
publishJUnitResults: true
testResultsFiles: '**/TEST-*.xml'
tasks: 'build'
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
TOKEN: $(token)
Run Code Online (Sandbox Code Playgroud)
保持健康,感谢任何帮助或见解!
我正在尝试从数据JSON获取值。我已经成功遍历了JSON数据,几乎满足了我的需求!
在Python中运行以下命令:
autoscaling_name = response['Reservations'][0]['Instances'][0]['Tags']
给我这个:
'Tags': [{'Key': 'Name', 'Value': 'Trove-Dev-Inst : App WebServer'}, {'Key': 'aws:autoscaling:groupName', 'Value': 'CodeDeploy_Ernie-dev-Autoscaling-Deploy_d-4WTRTRTRT'}, {'Key': 'CodeDeployProvisioningDeploymentId', 'Value': 'd-4WTRTRTRT'}, {'Key': 'Environment', 'Value': 'ernie-dev'}]
Run Code Online (Sandbox Code Playgroud)
我只想获得价值"CodeDeploy_Ernie-dev-Autoscaling-Deploy_d-4WTRTRTRT"。这是关键"aws:autoscaling:groupName"。
我如何才能进一步执行命令以仅返回值"CodeDeploy_Ernie-dev-Autoscaling-Deploy_d-4WTRTRTRT"?
gitlab ×2
amazon-ec2 ×1
amazon-linux ×1
azure-devops ×1
docker ×1
gitlab-ci ×1
gradle ×1
json ×1
linux ×1
maven ×1
pip ×1
python ×1
terraform ×1