首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何发布:使用git加密文件执行

如何发布:使用git加密文件执行
EN

Stack Overflow用户
提问于 2021-03-31 13:18:40
回答 1查看 121关注 0票数 0

我使用git-crypt (https://github.com/AGWA/git-crypt)加密包含敏感数据(密码等)的属性文件。在我的Java项目中。

无问题的准备发布运行。但是"mvn发行版:执行“的执行失败了,因为这个操作是自动的:

  • 签出从SCM
  • 生成和部署已发布的代码

的释放标记

问题是,我的属性文件是,签出了加密的,所以一些集成测试的执行失败了。

应该可以在发布期间对我的文件进行自动解密:执行过程.

我需要这样的解决方案:

代码语言:javascript
复制
<build>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.6.0</version>
            <executions>
                <execution>
                    <phase>deploy</phase>
                    <goals>
                        <goal>exec</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <executable>cmd</executable>
                <arguments>
                    <argument>/c</argument>
                    <argument>git-crypt unlock my-unlock-keyfile</argument>
                </arguments>
            </configuration>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-release-plugin</artifactId>
            <version>2.5.3</version>
            <configuration>
                <completionGoals>exec:exec</completionGoals>
            </configuration>
        </plugin>
    </plugins>
</build>

但遗憾的是,这段代码只适用于准备发行版。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-01 12:21:28

我现在找到了一个可行的解决方案:

代码语言:javascript
复制
<build>
    <plugins>   
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.6.0</version>
            <executions>
                <execution>
                    <phase>generate-sources</phase>
                    <goals>
                        <goal>exec</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <executable>cmd</executable>
                <arguments>
                    <argument>/c</argument>
                    <argument>git-crypt unlock path\to\my-unlock-keyfile</argument>
                </arguments>
                <successCodes>
                    <successCode>0</successCode>
                    <successCode>1</successCode> <!-- while release preparation exit code 1 it thrown because of unsaved changes; this is only a workaround; -->
                </successCodes>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-release-plugin</artifactId>
            <version>2.5.3</version>
        </plugin>
    </plugins>
</build>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66888697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档