如何制作 Concourse Linux 机读可执行文件? (chmod 样式)
How do you make a Concourse Linux Machine read executable files? (chmod style)
我正在尝试将我的 Concourse CI Linux VM 转换为 运行 shell 脚本。但我不断收到同样的错误:
我在本地(非 VM,在 Mac 上)用 chmod +x path/filename.sh
修复了这个问题以使其可执行并将 !#/bin/sh
添加到 shell 脚本中。
但我不知道如何让 Concourse/VM 知道它是一个可执行文件?有没有我应该放入 task.sh 的 chmod 命令?还是 task.yml?求助!
我的大厅CIpipeline.yml
resources:
- name: my-git-repo
type: git
source:
uri: git@github.com:org-name/my-git-repo.git
branch: master
private_key: {{git-private-key}}
- name: my-task
type: git
source:
uri: git@gist.github.com:blahblahblah12345678910blah.git
private_key: {{git-private-key}}
jobs:
- name: job-build-app
plan:
- get: my-git-repo
trigger: true
- get: task
- task: run-build
file: my-task/task.yml
我的task.yml
:
---
platform: linux
image_resource:
type: docker-image
source: {repository: busybox}
inputs:
- name: my-task
run:
path: ./my-task/task.sh
我的task.sh
:
!#/bin/sh
echo this is my task shell script
我预计这只是 echo/log 上面的字符串。
相反,我在顶部收到 500/permission denied 错误。
git 存储库中的文件必须 chmod +x
ed。你将很难在 Gist 中做到这一点,因为无法在 UI.
中设置
您可以克隆要点,chmod +x
,然后重新推送,或者将您的任务改为 运行 bash my-task/task.sh
,这不需要它是可执行的:
run:
path: bash
args: [./my-task/task.sh]
我正在尝试将我的 Concourse CI Linux VM 转换为 运行 shell 脚本。但我不断收到同样的错误:
我在本地(非 VM,在 Mac 上)用 chmod +x path/filename.sh
修复了这个问题以使其可执行并将 !#/bin/sh
添加到 shell 脚本中。
但我不知道如何让 Concourse/VM 知道它是一个可执行文件?有没有我应该放入 task.sh 的 chmod 命令?还是 task.yml?求助!
我的大厅CIpipeline.yml
resources:
- name: my-git-repo
type: git
source:
uri: git@github.com:org-name/my-git-repo.git
branch: master
private_key: {{git-private-key}}
- name: my-task
type: git
source:
uri: git@gist.github.com:blahblahblah12345678910blah.git
private_key: {{git-private-key}}
jobs:
- name: job-build-app
plan:
- get: my-git-repo
trigger: true
- get: task
- task: run-build
file: my-task/task.yml
我的task.yml
:
---
platform: linux
image_resource:
type: docker-image
source: {repository: busybox}
inputs:
- name: my-task
run:
path: ./my-task/task.sh
我的task.sh
:
!#/bin/sh
echo this is my task shell script
我预计这只是 echo/log 上面的字符串。
相反,我在顶部收到 500/permission denied 错误。
git 存储库中的文件必须 chmod +x
ed。你将很难在 Gist 中做到这一点,因为无法在 UI.
您可以克隆要点,chmod +x
,然后重新推送,或者将您的任务改为 运行 bash my-task/task.sh
,这不需要它是可执行的:
run:
path: bash
args: [./my-task/task.sh]