在 GitHub Actions 中运行位于公共文件夹中的 Bash 脚本

31

我有这个脚本createmap.shpublic/scripts文件夹中。我需要在主部署上运行它。 yaml文件中的代码为:

name: create-map
on: push

run: .public/script.sh
runs-on: ubuntu-latest
shell: bash

这是一个简单的脚本,用于创建网站地图并通知Google。

# yarn sitemap
$ cd public
$ rm -rf sitemap
$ mkdir sitemap
$ cd ..
$ cd scripts
$ node ./sitemap-posts.js
$ node ./compress-map.js
$ node ./create-one-map.js

$ curl http://google.com/ping?sitemap=https://website.com/sitemap.xml

我的文件夹结构是 根目录/scripts根目录/public 当我部署时,脚本没有运行,我不知道问题出在哪里。

你的控制台上有任何错误吗?如果有,请在帖子中包含它,并使用 ls -l 显示 scripts 和 public 目录的内容。 - Sandeep
1个回答

50

你需要添加执行权限:

jobs:
  run_tests:
    runs-on: ubuntu-20.04
    steps:
    - uses: actions/checkout@v2
    - name: Run script file
      run: |
         chmod +x ./public/scripts/test.sh
         ./public/scripts/test.sh
      shell: bash

1
我是一个初学者。实际上,这是我将要进行的唯一的Actions部署。你能稍微修改一下,包括安装npm模块吗?我以为package.json文件中的包会被使用。 - Taio
@KrzysztofMadej:每次执行前设置x位有什么意义?手动设置一次应该就足够了。另一种选择是使用bash ./public/scripts/test.sh作为运行命令。在这种情况下,x位并不重要。 - user1934428
你能否添加一行代码,告诉我需要安装一个npm模块,例如“prettier”?这行代码应该放在哪里呢?非常感谢。 - Taio
问题在于我不确定你想要实现什么。上面的脚本是完整的吗? - Krzysztof Madej
1
请查看以下链接:https://stackoverflow.com/questions/65625629/install-npm-modules-in-github-actions - Taio
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接