标签: devops

在生产中运行 puma 工人,但不在开发中运行

我正在运行以下 puma 配置

threads_count = Integer(ENV["DB_POOL"] || ENV["MAX_THREADS"] || 15)
threads threads_count, threads_count
workers 3
preload_app!

rackup      DefaultRackup
port        ENV["PORT"]     || 3000
environment ENV["RACK_ENV"] || "development"

on_worker_boot do
  ActiveSupport.on_load(:active_record) do
    ActiveRecord::Base.establish_connection
  end
end

before_fork do
  ActiveRecord::Base.connection_pool.disconnect!
end
Run Code Online (Sandbox Code Playgroud)

它非常适合生产,但我不想启动 3 个工人或在开发中使用 webrick。我尝试在环境检查中包装工人特定的代码,但这破坏了 puma DSL。在开发中以非集群模式运行 puma 的任何想法?

ruby ruby-on-rails puma devops

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

如何更新 Cassandra 集群的配置

我有一个 3 节点的 Cassandra 集群,我想对 cassandra.yaml 做一些调整

我的问题是,我应该如何执行此操作?一次一个节点,还是有一种方法可以在不关闭节点的情况下实现它?

顺便说一句,我使用的是 Cassandra 2.2,这是一个生产集群。

cassandra devops

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

如何仅使用“更新运行系统”在 Hybris 中运行“ant update”?

ant update构建 Hybris 项目后,我尝试从命令行运行,但它运行更新运行系统从数据库清除 hMC 配置创建基本数据本地化类型(请参阅下图):

hybris 控制台屏幕

有没有办法从命令行运行ant update命令,以便它只选择“更新运行系统”?

我可以传递什么参数ant update来只运行“更新运行系统”而不是任何其他选项?

java ant deployment hybris devops

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

Vagrant Shell Provision 脚本运行两次

我正在尝试从同一个 Vagrant Base Box 启动 3 个虚拟机。但是,仅创建了 2 个 VM。这是因为在配置第二个 VM 期间,shell 配置程序脚本执行了两次。结果,该过程终止,并出现下面详述的错误。

这是我的 Vagrantfile:

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

#The box name and the URL to Retrieve the Vagrant Box from
  config.vm.box = "eFx-Dev"
  config.vm.box_url = "http://web/provisioning/vagrant-boxes/centos7-basev0.1.box"
  config.ssh.insert_key = false


#Creating the first Dev Machine
#With network address being assigned via DHCP
#and bootstraped via a shell script.
#This script can be unique for each machine.
#But at the moment they are bootstarpped the same.
#The spects of the machine.
#Can …
Run Code Online (Sandbox Code Playgroud)

ruby shell vagrant devops

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

Azure Functions:如何控制开发/生产/暂存应用程序设置?

我刚刚开始试验 Azure 函数,我正在尝试了解如何根据环境控制应用程序设置。

在 dotnet 核心中,您可以拥有 appsettings.json、appsettings.development.json 等。当您在不同环境之间移动时,配置会发生变化。

但是,通过查看 Azure 功能文档,我发现您可以在 azure 门户中设置配置,但在解决方案中看不到任何有关设置配置的信息?

那么管理构建环境的最佳方法是什么?

提前致谢 :-)

json azure devops azure-functions visual-studio-2017

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

sh 'alias' 没有在 Jenkinsfile 中给出任何输出

我有一个运行 Jenkins 的 docker 容器。

在 Jenkinsfile 中,我尝试定义一个别名并打印这个别名。

我手动尝试过,连接到 Jenkins 容器,我能够做到:

alias foo='bar'
Run Code Online (Sandbox Code Playgroud)

然后,如果我执行,alias我可以看到别名列表(我有 7 个预设别名和新别名)

但是当我在 Jenkinsfile 中执行同样的事情时,我的foo命令不会响应......

这是我的管道代码:

#!/bin/groovy

pipeline {
agent any
stages {
  stage("Use alias command"){
    steps { 
        sh 'alias foo="bar"'
        sh 'foo'
    }
  }
}}
Run Code Online (Sandbox Code Playgroud)

知道为什么吗?

jenkins docker devops jenkins-pipeline

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

在 rhel7 上将 Docker 容器大小从默认的 10GB 增加

当我从 rhel7.3 镜像启动容器时,默认容器大小为 10GB。我想将其增加到 20GB。我尝试了以下方法,但我没有运气

1) 在 /etc/docker/daemon.json 文件中添加了 "DOCKER_STORAGE_OPTIONS": "--storage-opt dm.basesize=20G"。/etc/docker/daemon.json 文件默认不存在,所以我不得不添加它并尝试重新启动 docker。重新启动失败并出现以下错误:

“无法使用文件 /etc/docker/daemon.json 配置 Docker 守护进程:以下指令与任何配置选项都不匹配:DOCKER_STORAGE_OPTIONS\n”

2) 在启动容器时添加了“dm.basesize=20G”参数

docker run --privileged --storage-opt "dm.basesize=20G" -d IMAGE_ID 但它无法启动并出现错误

“docker:来自守护进程的错误响应:未知选项 dm.basesize。”

关于如何实现以 20GB 而不是默认的 10GB 启动容器的任何帮助?谢谢,Premchand

containers docker devops

3
推荐指数
2
解决办法
9472
查看次数

在以句点开头的 Windows 上运行 npm 脚本

我有一个package.json定义了以下脚本的文件:

"scripts": { "test": "./node_modules/selenium-cucumber-js/index.js" }

当我npm test在 linux 或 mac 上运行时,此脚本按预期运行。但是在 Windows 上,我收到一个错误:

/node_modules/selenium-cucumber-js/index.js '.' is not recognized as an internal or external command, operable program or batch file. npm ERR! Test failed. See above for more details.

但是,如果我./node_modules/selenium-cucumber-js/index.js直接从 cmd 提示符运行该命令,它可以正常工作。如果我尝试通过以“.”开头的 npm 运行任何其他脚本,也会出现同样的问题。我找不到任何其他线程将此作为一个问题进行讨论。

5.6.0在 Windows 10 Home 上运行 npm 版本。

有谁知道我怎么能让这个工作?

windows npm devops

3
推荐指数
2
解决办法
3299
查看次数

带有 Spring Boot 应用程序的 docker secret 在 docker swarm 模式下不起作用 /run/secrets

我正在尝试为 MySQL 容器和 Spring Boot 应用程序设置数据库密码的环境变量,这通常在 docker secrets 中声明。

echo "db_secured_password" | docker secret create secret -
Run Code Online (Sandbox Code Playgroud)

这里是配置文件:

spring boot 应用程序的-> application.yml

db:
  name: my-db
  host: localhost
  port: 3306
  username: root
  password: /run/secrets/db-root-password
spring:
  application:
    name: core-backend
  datasource:
    url: jdbc:mysql://${db.host}:${db.port}/${db.name}
    username: ${db.username}
    password: ${db.password}
Run Code Online (Sandbox Code Playgroud)

用于 docker swarm 模式下的 docker 堆栈 -> docker-compose.yml

version: '3.1'

services: 

  mysql-db:
    container_name: mysql-db
    image: mysql:8.0.12
    deploy:
      restart_policy:
        condition: on-failure
    volumes:
      - ./data/mysql:/var/lib/mysql
      - ./conf/mysql/my.cnf:/etc/mysql/conf.d/my.cnf
    environment:
      - MYSQL_ROOT_PASSWORD=/run/secrets/db-root-password
      - MYSQL_DATABASE=my_db
    ports: 
      - "3306:3306"
    secrets: 
      - db-root-password …
Run Code Online (Sandbox Code Playgroud)

orchestration docker spring-boot docker-swarm devops

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

Gitlab CI 如何确定 PHPUnit 测试是通过还是失败?

我有这个基本.gitlab-ci.yml文件。

image: php:7.2

before_script:
  # install git
  - apt-get update -yqq
  - apt-get install git -yqq
  # Install composer
  - curl -sS https://getcomposer.org/installer | php
  # Install all project dependencies
  - php composer.phar install


tests:
  script:
    - vendor/bin/phpunit tests
Run Code Online (Sandbox Code Playgroud)

这工作得很好,如果单元测试失败或通过,它会提醒我。

我的问题是 Gitlab CI 究竟是如何知道这一点的?他们是否解析 PHPUnit 的输出并查看字符串是否FAILURES!存在?

php continuous-integration unit-testing gitlab devops

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