我最近一直在努力学习厨师,因为我计划用它来部署服务器配置和服务器应用软件.我在理解如何使用其他人的食谱时遇到了问题.例如,我想部署JDK8u31.我无法弄明白如何实施这本食谱.https://supermarket.chef.io/cookbooks/java
我阅读说明书,并看到以下内容
只需在任何您希望安装Java的地方包含java配方,例如运行列表(recipe [java])或cookbook(include_recipe'java')
我试过了
include_recipe 'java'
Run Code Online (Sandbox Code Playgroud)
在我的食谱里面叫common_java_server
然后
directory '/usr/lib/jvm/' do
owner 'root'
group 'root'
mode '0644'
end
java_ark "jdk" do
url 'http://download.oracle.com/otn-pub/java/jdk/8u31/jdk-8u31-linux-x64.bin'
checksum 'a8603fa62045ce2164b26f7c04859cd548ffe0e33bfc979d9fa73df42e3b3365'
app_home '/usr/lib/jvm/'
bin_cmds ["java", "javac"]
action :install
end
# set alternatives for java and javac commands
java_alternatives "set java alternatives" do
java_location '/usr/local/java'
bin_cmds ["java", "javac"]
action :set
end
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误
Recipe Compile Error in /etc/chef/src/cookbooks/common/recipes/java_dev_server.rb
====
Run Code Online (Sandbox Code Playgroud) Jenkins 是一个用 Java 编写的开源持续集成工具。
它是一个基于服务器的系统,运行在 Apache Tomcat 等 servlet 容器中。
我对它在 Tomcat 上的工作方式感到困惑,我可以知道这两者之间的区别吗?
我们有大量的应用程序.它们都有一个build.xml位于项目基目录中的文件.我正在尝试创建一个ant脚本,该脚本将通过并调用build.xml所有项目中每个文件的特定目标.
以下是问题:
我试图在属性文件中使用subant+ antfile并定义文件路径的CSV,但这不起作用.以下是我所拥有的和我得到的错误.
如果有更好的方法来做到这一点或者你知道我的问题是什么,请告诉我!谢谢!
这是属性文件中定义的属性.我希望运行脚本的人在这里添加相对于他们正在运行的脚本的当前位置的文件路径.
projects.to.build=
Run Code Online (Sandbox Code Playgroud)
这是我尝试在主构建脚本中使用的子任务.
<filelist
id="projectNames"
dir="${basedir}"
files="${projects.to.build}"
/>
<target name="debugAll" description="Builds all the projects listed in the projectNames.properties file.">
<subant target="debug" antfile="${projects.to.build}">
</subant>
</target>
Run Code Online (Sandbox Code Playgroud)
这是我在属性文件中定义项目时尝试运行构建脚本时得到的错误.我正在使用相对路径.例如:..\Apps\AnApp1\build.xml,..\Apps\AnApp2\build.xml,..\OtherApps\foo\AnotherApp1\build.xml
"No Build Path Specified" (at my subant task)
Run Code Online (Sandbox Code Playgroud) 我对Maven项目结构有些新意.我正在创建一个项目,这将有两个罐子.这两个jar都不依赖于彼此,但是,它们将使用一些相同的库,并且我创建了两个辅助类(一个用于日志记录),这两个类将在两者中使用.
就项目结构而言,我正在遵循本指南:http: //maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html
我目前的项目只有一个模块.我正在使用IntelliJ IDE创建我的build.xml(使用ANT)来创建我的Jars.但是,IntelliJ build.xml不起作用,我不得不进行一些手动编辑,让它构建两个jar.我相信如果每个罐子都在它自己的模块中,这将得到解决.另外,根据以下内容,它们似乎应该是 http://www.jetbrains.com/idea/webhelp/module.html
这是我有点困惑的地方.如果我为第二个jar创建第二个模块,我该如何处理两个模块共享的类?每当我去创建一个新模块时,IntelliJ都会为新模块提供它自己的src/path.
正如我所说,我是Maven项目结构的新手.我也是ant的新手,并使用build.xml构建jar.如果我完全走错了路,请告诉我,以便我能尽早解决这个问题.
提前谢谢.
我想在新配置的服务器上的 Vagrant 文件中运行一个单独的配置块。目前,当我从 CI 服务器运行它时
vagrant up
Run Code Online (Sandbox Code Playgroud)
以下块执行成功
config.vm.provider :linode do |provider, override|
#creates a new instance etc .. the following block runs on this instance
end
config.vm.provision :chef_solo do |chef|
chef.provisioning_path = "/tmp/deploy"
chef.cookbooks_path = ["cookbooks"]
chef.add_recipe = "mydeployagent"
end
Run Code Online (Sandbox Code Playgroud)
现在我想在之后运行一个单独的供应商。(CI服务器中的一个单独任务)即
config.vm.provision :chef_solo do |chef|
chef.provisioning_path = "/tmp/deploy"
chef.cookbooks_path = ["cookbooks"]
chef.add_recipe = "mydeploydatabaseagent"
end
Run Code Online (Sandbox Code Playgroud)
我试图弄清楚我需要什么
运行 vagrant up 以便它只执行第一个配置块
运行 vagrant 以便它只在 1 中创建的实例上运行第二个配置块。
提前致谢
我想找到一种在.properties不同部署配置的多个文件之间切换的权宜之计.
我最初的倾向是创建一个单独的文件selector.properties,其单个属性用于确定正确的文件:
properties.file=deploymentConfiguration1.properties
...对于一个部署,或:
properties.file=deploymentConfiguration2.properties
...用于下一次部署.
我团队的另一位开发人员有一个ApplicationProperties班级,其中:
private static final String PROP_FILE="someFileName.properties";
......是做到这一点的手段.但是,我想切换属性文件而不重建!提前感谢您的意见.
编辑:也许我最初应该更清楚,但这是针对一组打包为AAR的Web服务.我将它放入Web服务器,让Tomcat和Axis2做他们的事情.
所以,我不认为命令行参数的一些答案将在这种情况下起作用.
以下是手册中关于“条件”的说明:
如果某个条件成立,则设置属性。如果条件成立,则属性值默认设置为 true;否则,不会设置该属性。您可以通过指定 value 属性将值设置为默认值以外的值
我尝试的:
<echo message="${a}" />
<condition property="a">
<isfalse value="test" />
</condition>
<echo message="${a}" />
Run Code Online (Sandbox Code Playgroud)
我的推理:
如果属性“a”为 false,则将“a”的值设置为“test”
回显的结果是:
[echo] ${a}
[echo] true
Run Code Online (Sandbox Code Playgroud)
该属性被设置为“true”,因为它是 false,但是“value”的目的是什么?
谢谢
克里斯
我的Adobe Flash媒体服务器已成功安装在Windows中。但是每当我在命令中写入ipconfig时,它就会显示“ ipconfig无法识别为内部或外部命令”
我们都知道有社区支持maven,因为 maven 有一些高级功能,所以大多数人推荐作为构建工具,gradle 也在图片中,但ant今天使用会被认为是过时的还是它仍然提供与过去相同的竞争?
maven 取得的成就是否比 ant 或 ant 还活着?
ant ×3
java ×3
chef-infra ×2
maven ×2
chef-solo ×1
deployment ×1
flash ×1
gradle ×1
jenkins ×1
properties ×1
ruby ×1
server ×1
subant ×1
tomcat ×1
vagrant ×1