【发布时间】:2021-06-17 20:22:22
【问题描述】:
我正在尝试开发一个 Github Action 来更新我(主要是)php 文件中的版本号和数据库凭据,然后再上传到 FTP 服务器。
在我的主分支中,我有一个名为 VERSION.md 的文本文件,内容为 2.0.1。
该操作应在每次推送提交时运行。
在部署到 FTP 服务器之前,这些替换是必需的(当然,真正的存储库文件不应该更改,只需要更改上传到服务器的文件)。
- 对于每个文件,字符串
__VERSION__应替换为我的VERSION.md文件的内容。 - 另外,仅对文件
db_connection.php,字符串__DB-PASSWORD__应替换为对应的秘密DB_PASSWORD。
这是我目前的工作流程:
on: push
name: FTP Deploy
jobs:
web-deploy:
name: Ubuntu VM
runs-on: ubuntu-latest
steps:
- name: Getting latest Code
uses: actions/checkout@v2.3.2
# at this position I tried the string replacing
- name: Sync Files
uses: SamKirkland/FTP-Deploy-Action@4.0.0
with:
server: ${{ secrets.ftp_server }}
username: ${{ secrets.ftp_username }}
password: ${{ secrets.ftp_password }}
server-dir: "public_html/"
exclude: .git*
- .git*/**
- fonts/ttf/**
- symbols/**
- README.md
- VERSION.md
作为第一次测试,我已经尝试过
- name: Set Tokens
run: perl -pi -e 's/getString\(R\.string\.token\)/"$ENV{TOKEN}"/' 'index.php'
env:
TOKEN: ${{ secrets.TOKEN }}
仅为index.php 将字符串TOKEN 替换为存储在我的秘密中的令牌,但这失败了。一切看起来都不错,但服务器没有任何变化。
【问题讨论】:
-
您的工作流程是什么样的,它是如何失败的?
-
感谢您的回答,@BenjaminW。我已经改进了上面的问题,希望得到帮助或提示:)
标签: github yaml version github-actions building-github-actions