小编Mar*_*nor的帖子

Docker和保护密码

我最近一直在尝试使用Docker构建一些服务来解决这个问题,并且一直在唠叨我的一直是将密码放在Dockerfile中.我是一名开发人员,因此在源代码中存储密码感觉就像一拳.这应该是一个问题吗?关于如何在Dockerfiles中处理密码有什么好的约定吗?

security build docker

139
推荐指数
6
解决办法
7万
查看次数

无法解析符号'tools'和'GradleException'

我已经开始研究包括Android NDK在内的现有项目.我在build.gradle中有两个问题,我不可能构建应用程序.为了您的信息,我的同事(正在研究它)能够构建应用程序.

我已经从项目结构中导入了NDK,我可以看到正确的Android NDK路径.

以下是build.gradle的样子:

import org.apache.tools.ant.taskdefs.condition.Os

buildscript {
repositories {
    maven { url 'https://maven.fabric.io/public' }
}

dependencies {
    // The Fabric Gradle plugin uses an open ended version to react
    // quickly to Android tooling updates
    classpath 'io.fabric.tools:gradle:1.21.5'
}
}
allprojects {
repositories {
    maven { url "https://jitpack.io" }
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
apply plugin: 'realm-android'

repositories {
maven { url 'https://maven.fabric.io/public' }
}

android {
compileSdkVersion 24
buildToolsVersion "24.0.2"
dataBinding{
    enabled = true;
} …
Run Code Online (Sandbox Code Playgroud)

android gradle android-ndk

22
推荐指数
3
解决办法
1万
查看次数

收到错误"无法加载资源net/sf/antcontrib/antcontrib.properties中的定义.无法找到它."

Could not load definitions from resource net/sf/antcontrib/antcontrib.properties. It could not be found.当我尝试在eclipse上构建ant时,我收到了一个错误.所以我下载了ant-contrib-0.6.jar并将其保存在我/lib的apache ant位置,但它仍然无法解决我的问题.我也尝试过/libCLASSPATH系统变量中指定位置.我怎样才能解决这个错误?

eclipse ant ant-contrib

18
推荐指数
3
解决办法
7万
查看次数

SOLR - 从csv文件导入2000万个文档的最佳方法

我目前的任务是找出在solr中加载数百万个文档的最佳方法.数据文件是以csv格式从DB导出的.

目前,我正在考虑将文件拆分为较小的文件并使用脚本,同时使用curl发布这些较小的文件.

我注意到如果你发布大量数据,大多数时候请求超时.

我正在研究数据导入器,它似乎是一个不错的选择

任何其他想法高度赞赏

谢谢

csv import solr bulkinsert dataimporthandler

14
推荐指数
3
解决办法
3万
查看次数

如何使用Chef懒惰地评估任意变量

我正在编写一个Chef配方来安装我们的应用程序代码并执行它.配方需要特别关注此代码最终的目录(用于运行模板,设置日志转发等).因此,目录本身会在不同的食谱中出现在很多地方.

我试图获取/定义一个变量,所以我可以在我的资源块中使用字符串插值重新使用它.这非常简单:

home = node['etc']['passwd'][node['nodejs']['user']]['dir']
Run Code Online (Sandbox Code Playgroud)

使用示例用法,npm install同时告诉它在主目录中插入repo下载,如下所示:

execute "npm install" do
  command "npm install #{prefix}#{app} --prefix #{home}"
end
Run Code Online (Sandbox Code Playgroud)

除了定义home变量的第一个块将在编译时运行.在一个新的服务器上,我的nodejs用户帐户可能还不存在,这是一个问题,给出了一个

NoMethodError undefined method '[]' for nil:NilClass
Run Code Online (Sandbox Code Playgroud)

我有一些解决方法,但我想要一个特定的解决方案,使home变量只在配方执行时获取,而不是编译时.


解决方法1

动态评估ruby块内的home变量,如下所示:

ruby_block "fetch home dir" do
  block do
    home = node['etc']['passwd'][node['nodejs']['user']]['dir']
  end
end
Run Code Online (Sandbox Code Playgroud)

这似乎没有实际工作,当你尝试做类似这样的事情时,为Chef :: Resource :: Directory提供一个NoMethodError未定义方法的主页:

directory ".npm" do
  path "#{home}/.npm"
end
Run Code Online (Sandbox Code Playgroud)

我觉得我必须在这里做错事.

解决方法2

懒惰地评估每个需要它的资源的参数.所以改为:

directory ".npm" do
  path lazy "#{node['etc']['passwd'][node['nodejs']['user']]['dir']}/.npm"
end
Run Code Online (Sandbox Code Playgroud)

但是,只需要维护一行代码,将其存储在变量中并完成它就会非常棒.

解决方法3

在编译时创建用户.这当然有效,使用此处链接通知技巧,如下所示:

u = …
Run Code Online (Sandbox Code Playgroud)

ruby variables chef-infra chef-recipe

14
推荐指数
1
解决办法
2万
查看次数

示例说明如何使用文件系统解析程序

任何人都可以通过考虑解释我如何在Ivy中使用文件系统解析器和样本.

  1. 我有ivy.xml文件,我已经定义了所有的dependecies但我希望我的文件系统中的jar不是来自maven存储库..?

  2. 我在哪里放ivysettings.xml文件.

  3. build.xml应该包含什么来使用ivysettings.xml,这样我就可以使用来自文件系统的jar而不是来自maven ..

ivy

13
推荐指数
1
解决办法
2万
查看次数

psql:致命:角色"vagrant"不存在

我创建了一个vagrant实例,每次我尝试psql在终端中执行此操作时我都会收到此错误.错误是状态:

psql:致命:角色"vagrant"不存在

我以为流浪汉会照顾这个?这是我的流浪文件:

Vagrant.require_plugin "vagrant-omnibus"
Vagrant.require_plugin "vagrant-berkshelf"

Vagrant.configure(2) do |config|

  # Box config
  config.vm.box = 'precise64'
  config.vm.box_url = 'http://files.vagrantup.com/precise64.box'

  # Plugin config
  config.omnibus.chef_version = :latest
  config.berkshelf.enabled = true

  # Network config
  config.vm.network :forwarded_port, guest: 3000, host: 3000

  # Virtual config
  config.vm.provider(:virtualbox) do |vb|
    vb.customize [
      "modifyvm", :id,
      "--memory", "1024",
      "--cpus",   "4"
    ]
  end

  # Provisioner config
  config.vm.provision :chef_solo do |chef|
    chef.add_recipe 'apt'
    chef.add_recipe 'postgresql::client'
    chef.add_recipe 'postgresql::server'
    chef.add_recipe 'build-essential'
    chef.add_recipe 'rvm::system'
    chef.add_recipe 'git'
    chef.json = {
      :postgresql => { …
Run Code Online (Sandbox Code Playgroud)

postgresql vagrant psql

13
推荐指数
1
解决办法
2万
查看次数

Ant的不同操作系统上的不同目标

除非我在Linux上运行ant(我没有在Windows上调用),否则我有一个我不想调用的ant目标

<target name="jar.all" depends="clean,compile.nic,jar,jar.resources"/>
Run Code Online (Sandbox Code Playgroud)

我不希望在Windows上调用的目标是:compile.nic

我怎样才能做到这一点?

ant

11
推荐指数
3
解决办法
8314
查看次数

在artifactory存储库中,文件集成修订版和文件夹集成修订版之间有什么区别?

我正在查看不同的存储库布局,我看到文件夹集成修订和文件集成修订之间的区别.

这些是相同的版本号(只放在文件和/或文件夹中)还是不同的东西?

这是一个链接,我看到这两个提到:存储库布局

artifact artifactory continuous-delivery

11
推荐指数
1
解决办法
2250
查看次数

创建一个包含已编译类的jar和使用Maven的javadoc

我正在尝试为我们的产品生成一个包含API SDK的jar文件,因此我们的客户可以创建插件并根据我们的API进行编译.我们作为API SDK jar的一部分提供的所有类/接口也包含在我们的主要产品中,因此API开发人员不需要将API SDK jar包含在他们的插件jar中.因此,我并不担心API SDK jar的大小.但是,我想让插件开发人员的生活变得更轻松,只需提供一个包含已编译类和javadoc的jar文件(因此开发人员可以看到内联注释作为开发时自动完成功能的一部分).

我们使用Maven进行编译,并将以下配置添加到API SDK pom.xml中:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>2.7</version>
            <executions>
                <execution>
                    <id>attach-javadoc</id>
                    <goals>
                        <goal>jar</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
Run Code Online (Sandbox Code Playgroud)

这可行,但是这会生成两个jar文件 - 一个包含已编译的类,另一个包含javadoc.相反,我想生成一个包含所有内容的jar文件.

我们目前使用Maven来编译这个项目,但我们可以自由使用其他构建工具.

java javadoc jar maven

10
推荐指数
1
解决办法
3627
查看次数