我正在使用Fastlane match管理iOS的代码签名。
是否可以使用相同的存储库来存储应用程序中使用但无法在Git中检查的其他项目凭证[密钥,API令牌等],或使用Fastlane match命令创建新的加密存储库?
以下代码将执行,但repo out.txt中的文件未加密。
当前代码:
COPY . .
输出:
desc "Encrypt git"
lane :encrypt do
UI.success "Encrypting git!"
storage = Match::Storage.for_mode("git", { git_url: git_url, shallow_clone: shallow_clone, git_branch: branch, clone_branch_directly: true})
storage.download
encryption = Match::Encryption.for_storage_mode("git", { git_url: git_url, working_directory: storage.working_directory})
encryption.decrypt_files
file = "#{storage.working_directory}/out.txt"
out_file = File.new("#{file}", "w")
out_file.puts("version:#{Time.now.to_i}")
out_file.close
encryption.encrypt_files
files_to_commit = Dir[File.join(storage.working_directory, "**", "*.{txt}")]
encryption.encrypt_files
storage.save_changes!(files_to_commit: files_to_commit)
end
end
答案 0 :(得分:1)
https://docs.fastlane.tools/advanced/other/#manually-manage-the-fastlane-match-repo(单击Instructions
以查看实际内容)对如何手动从匹配存储库中解密和加密数据提供了建议。
这可能被用来在其中放置各种数据。由于代码只是简单的红宝石,因此您当然也可以将其包含在您编写的任何脚本或程序中以自动执行该过程(而不是按照说明在irb
中手动进行操作。