作爲部署到服務器的Capistrano Ruby任務的一部分,我希望它輸出Git消息並提交剛剛部署的代碼。Capistrano/Ruby執行在變量後添加分號
有了這個:
git_message = `git log -1 HEAD --pretty=format:%s`
git_commit = `git rev-parse HEAD`
git_commit = "https://example.com/myorg/myrepo/commit/" + git_commit
execute "echo \"Deployed \\\"#{git_message}\\\": #{git_commit}\" | a_command_that_posts_to_slack"
它的輸出是這樣的:
Deployed "Merge branch 'feature/some-feature' into develop": https://example.com/myorg/myrepo/commit/0fdfa09fbfe012649fb0a998aa2e99cb5fd7c8b3;
注意分號提交哈希的盡頭。我已經使用puts
確認git_commit
不以分號結尾,而git_message
沒有分號,並且在它之後也沒有。
什麼是添加分號,我該如何刪除它?
當你說它的輸出,你的意思是鬆弛?我看到你有'a_command_that_posts_to_slack'或許這個命令添加了分號?嘗試重定向到一個文件,而不是滾動到該命令。 – ddubs
我在Slack中看到了分號,但我也在終端中看到它。在沒有管道的情況下出現相同的分號:'execute「echo \」Deployed \\「#{git_message} \\\」:#{git_commit} \「」' – Hugo