重用Fastlane匹配来加密其他凭据和android密钥存储区

时间:2019-05-08 10:17:07

标签: git encryption fastlane fastlane-match

我正在使用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

1 个答案:

答案 0 :(得分:1)

https://docs.fastlane.tools/advanced/other/#manually-manage-the-fastlane-match-repo(单击Instructions以查看实际内容)对如何手动从匹配存储库中解密和加密数据提供了建议。

这可能被用来在其中放置各种数据。由于代码只是简单的红宝石,因此您当然也可以将其包含在您编写的任何脚本或程序中以自动执行该过程(而不是按照说明在irb中手动进行操作。