我在 Jenkins 配置文件中有一些 files.properties,我需要在 jenkins 管道期间将其复制到服务器。
管道代码或多或少如图所示,只是为了得到一个想法。如何添加一个步骤,在管道中的最后一步将 WAR 部署到服务器之后,从目标服务器上的 jenkins 复制此配置文件,例如:“sh Scp file.properties jenkins@destinationserver:/destination/path/file.properties ”
code {
stage ('Code Checkout') {
git branch: 'master',
credentialsId: 'b346fbxxxxxxxxxxxxxxxxxxx',
url: 'https://xxxxxxx@bitbucket.org/gr/code.git'
}
stage ('Check Branch') {
sh 'git branch'
}
stage('Compile and Build WAR') {
sh 'mvn clean compile war:war'
stage ('Deploy WAR to server') {
sh "scp .war jenkins@serverIp:/var/lib/tomcat/.war"
}
Run Code Online (Sandbox Code Playgroud)
我有以下设置:
一个天蓝色的 kubernetes 集群,其中有一些节点,我的应用程序(由多个 pod 组成)正在运行。我正在寻找一种好方法来为两个已部署的容器及其副本提供特定于项目的配置文件(几百行) 。
我的项目之间的配置文件不同,但容器则不然。
我正在寻找诸如在容器中安装只读文件之类的东西,但还没有找到好方法。我尝试过持久卷声明,但除了复制(包括 uri 和秘密管理)之外,似乎没有自动文件放置的可能性。
最好的事情是kubectl 可以使用 yaml 文件来访问我的开发人员计算机上的特定文件夹,以将我的配置文件推送到集群中。
ConfigMap 不是执行此操作的正确方法(因为数据必须位于 yaml 内,并且我的文件很大且不断变化)
对于卷来说,似乎没有在创建时自动将文件放入其中的方法。
有人可以指导我找到适合我的情况的好解决方案吗?
我为应用程序开发了一个自己的配置文件文件格式(明文和基于行 - > EOL =一种配置).这种格式没有什么特别的,我这样做的唯一原因就是学习一些东西!读写器函数将在C中实现(使用GLib,因为它应该是UTF8编码的文件).
所以现在,我正在考虑在C代码中实现这种格式的方式.我必须采取哪些步骤才能获得尽可能好的错误消息.我听说过有关Lexer,Parser的一些信息......但是从来没有太深入过.我对它们只是一个非常抽象的概念.那么我需要采取哪些步骤来获得一个用C语言编写的干净的读取器格式,这对于将来的更改也是可维护的?学习/思考的主题是什么?
是的,我知道:C是痛苦的,这个提议有很多不同的"性感"格式,等等.我想学点东西!
干杯,格雷戈尔
附加信息
我正在编写一个Perl脚本,用户在脚本的开头添加了许多设置变量,所有这些都带有前缀$XX,如下所示.但是,用户设置变量需要通过一个简短的转换函数来清理它们.
有没有办法在带有$XX前缀的所有变量上运行sub ?
my $XXvar1 = "something";
my $XXvar2 = "something";
my $XXvar3 = "something";
my $XXvar4 = "something";
sub processVar {
my $fixVar = $_[0];
# Do stuff
return $fixVar;
}
# This obviously doesn't work. Use some kind of loop or something? How...
$XXvar* = processVar($XXvar*);
Run Code Online (Sandbox Code Playgroud)
编辑: 根据Google的一些建议,我现在正尝试使用哈希值:
my %XX;
$XX{var1} = "something 1";
$XX{var2} = "something 2";
$XX{var3} = "something 3";
$XX{var4} = "something 4";
Run Code Online (Sandbox Code Playgroud)
然后我可以使用for或while循环中的键和值.但是,如何在循环中将每个变量重新分配给已变换的变量?
再次编辑:
明白了.此for …
我有一个大的配置文件(用户),我需要去正确的位置,并有一些默认值.
由于我有一个安装程序类,我在其中添加了一些参数设置到配置文件,但是在installers文件夹中创建了配置文件.
确保这些默认参数的最佳方法是只写一次,并且位于正确的位置?
我知道在StructureMap中,当我想将特定参数传递给对象的构造函数时,我可以从我的*.config文件(或它们引用的文件)中读取.
ForRequestedType<IConfiguration>()
.TheDefault.Is.OfConcreteType<SqlServerConfiguration>()
.WithCtorArg("db_server_address")
.EqualToAppSetting("data.db_server_address")
Run Code Online (Sandbox Code Playgroud)
但我想要做的是从调试模式下的一个配置设置和另一个在发布模式下读取.
当然,我可以环绕.EqualToAppSetting("data.db_server_address"),有#if DEBUG,但由于某些原因这些语句让我畏缩了一点,当我把他们.我想知道是否有某种方式与StructureMap库本身做到这一点.
那么我可以根据项目是在调试模式还是发布模式下为我的对象提供不同的设置?
是否有关于如何在J2EE项目中保留应用程序级别设置/配置文件的建议?我有一个Web项目,它具有必须写入日志的依赖项和本地设置文件.有没有将设置文件存储在本地目录中并使其可写?
[一些依赖项是:hibernate和gridgain,因此它们生成了大量日志]
我宁愿不硬编码设置文件的位置.
我正在尝试为我的Perl脚本创建一个简单的配置文件,我原本打算使用Config :: INIPlus,但我不认为它会起作用.配置文件不需要任何特殊的东西.我只需要能够读写它.我想用一个模块来完成这个.
更新:
我不认为Config :: INIPlus对我有用的原因可能听起来很愚蠢,但我希望配置文件保持特定的值顺序.我一直遇到的问题是Config :: INIPlus模块坚持擦除整个文件,然后按字母顺序重新插入所有值,无论它们属于哪个主题,所以它弄乱了我想保留配置的顺序文件订购.它也删除了我留给持有者的空变量.
我已经使用注册表作为配置存储来测试我的想法,这太棒了!问题是虽然我试图使我的脚本成为一个独立的平台,主要是Windows和Linux,而不是Mac,因为我没有.
也许我只需要重新考虑我对配置文件的看法,也许我要求的是在我掌握更多perl的细节之前无法完成的事情.
我是Lua的新手,想问一下是否有可能限制配置文件中的lua语法?我知道配置加载必须在监狱中执行,但我们如何处理while 1 do end我们想要加载的配置文件?有没有办法只允许配置中的字符串,赋值和表,如果没有,那么检查lua文件不包含不良结构的最佳方法是什么?手动预解析是唯一的解决方案吗?
我将以下内容存储在我的asp.net网站根文件夹中的stores.config文件中.
<configuration>
<appSettings>
<add key="ClientId" value="127605460617602"/>
<add key ="RedirectUrl" value="http://localhost:49548/Redirect.aspx"/>
</appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)
如何使用string Clientid = ConfigurationManager.AppSettings["ClientId"].ToString();该文件调用它?当然,调用它不起作用,因为它在web.config中寻找它.
我不想将appSettings放在web.config文件中.这是允许的吗?
c# ×2
perl ×2
asp.net ×1
c ×1
containers ×1
java ×1
java-ee ×1
jenkins ×1
kubernetes ×1
lua ×1
parsing ×1
structuremap ×1
tomcat ×1
variables ×1
web-config ×1
xml ×1