私は、Concourse CI Linux VMでシェルスクリプトを実行しようとしています。しかし、私は同じエラーを取得しておいてください。 Concourse Linuxマシンに実行可能ファイルを読み込ませるにはどうしますか? (chmodスタイル)
が、私はそれを実行可能にし、シェルスクリプトに!#/bin/sh
を追加する
chmod +x path/filename.sh
と、このローカル(Macの非VM)固定しました。
しかし、私はConcourse/VMに実行可能ファイルであることを知らせる方法を知らないのですか?私はtask.shに入れなければならないchmodコマンドがありますか?またはtask.yml?助けて!
私のコンコースCI pipeline.yml
resources:
- name: my-git-repo
type: git
source:
uri: [email protected]:org-name/my-git-repo.git
branch: master
private_key: {{git-private-key}}
- name: my-task
type: git
source:
uri: [email protected]: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
:マイtask.sh
---
platform: linux
image_resource:
type: docker-image
source: {repository: busybox}
inputs:
- name: my-task
run:
path: ./my-task/task.sh
:私は期待
!#/bin/sh
echo this is my task shell script
これまで単なる/上記の文字列をログアウトエコー。
代わりに、上部に500/permissionの拒否エラーが表示されます。
おかげ@alexsuraciは、そう私は固定終わりました要点をクローン化し、新しいファイルをローカルに追加し、chmodしてから押してください。すぐに働いた。 – Aid
あなたは 'chmod'状態を変更するために' git update-index --chmod = + x task.sh'を使うこともできますし、[この回答に記載されているように]自動化することもできます(https://stackoverflow.com/q/14267441/1262901)。 –