标签: devops

无法在Bluemix Build&Deploy Pipeline中运行单元测试,因为服务器无法连接到ClearDB MySQL

解决了!

看起来Bluemix中的管道服务已经更新,与ClearDB的连接现在运行得非常好!感谢无论谁推动这一变化!:)

-

我在Bluemix构建和部署管道中运行代码,不在Liberty Profile应用服务器内部(应用程序在那里工作正常),问题在于管道的构建阶段(mvn clean install),同时运行我的单元测试,这里是错误消息

构建新的Hibernate SessionFactory 2015-04-11 15:04:49 [main] ERROR ohutil.JDBCExceptionReporter - 通信链接失败

成功发送到服务器的最后一个数据包是0毫秒前.驱动程序未收到来自服务器的任何数据包.

单元测试类无法连接到数据库.

我的代码没有任何特殊之处,您可以在JUnit Test类中创建任何标准JDBC连接并尝试与db建立连接,但如果您想轻松确认此连接限制,那么您可以在没有任何Java的情况下测试它码:

  • 使用一些入门代码创建Liberty Profile应用程序
  • 创建并绑定"ClearDB MySQL"服务
  • 在App Overview页面中,通过单击"Show Credentials"展开ClearDB框并复制主机名(例如,us-cdbr-test-west-07.cleardb.net).
  • 添加GIT,返回App Overview,单击EDIT CODE,单击"Build&Deploy",单击"BUILD Stage"的配置图标,选择"Configure Stage"并将以下代码添加到命令框:

码

REMOTEHOST=us-cdbr-test-west-07.cleardb.net
REMOTEPORT=3306
TIMEOUT=1

if nc -w $TIMEOUT -z $REMOTEHOST $REMOTEPORT; then
    echo "I was able to connect to ${REMOTEHOST}:${REMOTEPORT}"
else
    echo "Connection to ${REMOTEHOST}:${REMOTEPORT} failed; exit code from netcat was $?"
fi
Run Code Online (Sandbox Code Playgroud)
  • 启动BUILD阶段并检查此消息是否显示:
[86d18f86-4ade-4e02-8282-171dc9757272] $ /bin/bash /tmp/hudson5506792757013948518.sh
Connection to us-cdbr-test-west-07.cleardb.net:3306 failed; exit code from netcat was 1 …
Run Code Online (Sandbox Code Playgroud)

mysql unit-testing maven devops ibm-cloud

6
推荐指数
1
解决办法
438
查看次数

如何使用AWS CloudFormation为SNS订阅指定“原始消息传递”?

我有一个AWS CloudFormation模板,该模板创建一个SNS主题和一个预订:

"AcceptedTopic":{
            "Type": "AWS::SNS::Topic",
            "Properties": {
                "DisplayName": {"Fn::Join": ["", ["Accepted-", {"Ref": "Env"}]]},
                "TopicName": {"Fn::Join": ["", ["Accepted-", {"Ref": "Env"}]]},
                "Subscription": [{
                    "Endpoint": {"Fn::GetAtt" : [ "SomeQueue" , "Arn" ]},
                    "Protocol": "sqs"
                }]
            }
        }
Run Code Online (Sandbox Code Playgroud)

我需要指定“原始邮件传递”订阅属性。如何在AWS CloudFormation中做到这一点?

amazon-web-services aws-cloudformation devops

6
推荐指数
2
解决办法
2846
查看次数

如何在开发/部署工作流程中使用Docker?

我不确定我是否完全理解Docker在开发和部署过程中的作用.

  1. 说,我用nginx创建一个Dockerfile,一些数据库和其他创建容器的东西并运行正常.

  2. 我将它放在云中的某个位置并执行它以安装和配置所有依赖项和环境设置.

  3. 接下来,我有一个带有Web应用程序的存储库,我想在我创建的容器中运行并在前两个步骤中部署.我经常处理它并推动变化.

现在,如何将Web应用程序集成到容器中?

  • 我是否将它作为依赖项放在我在第一步中创建的Dockerfile中,并且每次从头开始重新创建容器?
  • 或者说,我曾经部署容器,但有内部Dockerfile程序,安装的命令或通过钩拉从回购的代码utils的?
  • 如果容器正在运行但我想改变一些设置,例如nginx会怎么样?我是否将这些更改添加到Dockerfile中并重新创建图像?

一般来说,Docker在日常应用程序开发例程中的作用是什么?如果基础设施运行正常且只有代码在变化,它是否经常使用?

deployment docker devops

6
推荐指数
1
解决办法
2169
查看次数

"CodeTaskFactory加载"上的VS 2015 C++编译失败

我有一个奇怪的错误:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\CodeAnalysis\Microsoft.CodeAnalysis.targets(219,5): error MSB4175: The task factory "CodeTaskFactory" could not be loaded from the assembly "C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Build.Tasks.Core.dll". Timed out waiting for a program to execute. The command being executed was "C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe" /noconfig /fullpaths @"E:\BuildAgent\temp\buildTmp\dxr3ks1s.cmdline".
Run Code Online (Sandbox Code Playgroud)

我禁用了代码分析:

<RunCodeAnalysis>false</RunCodeAnalysis>
<RunCodeAnalysisOnThisProject>false</RunCodeAnalysisOnThisProject>
Run Code Online (Sandbox Code Playgroud)

但我看到同样的错误:(

c++ compilation visual-c++ visual-studio-2015 devops

6
推荐指数
1
解决办法
431
查看次数

Kubernetes - 从服务端点自动填充CloudDNS记录

在Google Cloud Platform上运行Kubernetes群集时,是否可以通过某种方式将服务端点的IP地址自动分配到Google CloudDNS记录?如果是这样,可以在服务YAML定义中以声明方式完成吗?

简单地说,我不相信我的type: LoadBalancer服务的IP地址.

dns docker google-cloud-platform kubernetes devops

6
推荐指数
1
解决办法
152
查看次数

如何使用Ansible git模块拉出一个具有局部变化的分支?

我的git工作区很脏,有一些本地修改.当我使用命令git pull origin master它工作正常,因为没有冲突.

但是当我试图使用时Ansible, git: repo=xxxx dest=xxx version={{branch}} 我得到了错误:

存储库中存在本地修改(强制=否)

如果我添加force=yes,那么我将失去我的本地修改.

我可以做些什么来保持我的本地更改并使用Ansible git模块从git中提取最新的提交.

git ansible ansible-playbook devops

6
推荐指数
1
解决办法
5103
查看次数

在Terraform 0.9中从远程状态迁移到后端

我下载terraform 0.9,并试图跟随迁移指南从移动remote-state到backend

但它似乎没有用.我换了:

data "terraform_remote_state" "state" {
  backend = "s3"
  config {
    bucket = "terraform-state-${var.environment}"
    key = "network/terraform.tfstate"
    region = "${var.aws_region}"
  }
}
Run Code Online (Sandbox Code Playgroud)

同

terraform {
  backend "s3" {
    bucket = "terraform-backend"
    key = "network/terraform.tfstate"
    region = "us-west-2"
  }
}
Run Code Online (Sandbox Code Playgroud)

但当我在我的terraform一个环境文件夹中运行init 时,我得到:

弃用警告:此环境配置为使用旧版远程状态.Terraform 0.9中的远程状态发生了显着变化.请更新您的远程状态配置以使用新的"后端"设置.目前,Terraform将继续使用您现有的设置.Terraform 0.11中将删除旧版远程状态支持.

您可以在此处找到升级指南:

https://www.terraform.io/docs/backends/legacy-0-8.html

我也不得不放弃变量插值,因为这是不允许的.这是否意味着一个S3 Bucket用于多个环境?我错过了什么?

amazon-s3 terraform devops

6
推荐指数
1
解决办法
3037
查看次数

无法使用django-channels,docker上的nginx作为服务连接到websocket

我正在使用docker compose来构建一个django,nginx作为服务的项目.当我启动daphne服务器,并且客户端尝试连接到websocket服务器时,我收到此错误:

*1 recv() failed (104: Connection reset by peer) while reading response header from upstream
Run Code Online (Sandbox Code Playgroud)

客户端显示了这一点

failed: Error during WebSocket handshake: Unexpected response code: 502
Run Code Online (Sandbox Code Playgroud)

这是我的docker-compose.yml

version: '3'
services:
  nginx:
    image: nginx
    command: nginx -g 'daemon off;'
    ports:
      - "1010:80"
    volumes:
      - ./config/nginx/nginx.conf:/etc/nginx/nginx.conf
      - .:/makeup
    links:
      - web
  web:
    build: .
    command: /usr/local/bin/circusd /makeup/config/circus/web.ini
    environment:
      DJANGO_SETTINGS_MODULE: MakeUp.settings
      DEBUG_MODE: 1
    volumes:
      - .:/makeup
    expose:
      - '8000'
      - '8001'
    links:
      - cache
    extra_hosts:
      "postgre": 100.73.138.65
Run Code Online (Sandbox Code Playgroud)

Nginx的:

server {
        listen 80;
        server_name …
Run Code Online (Sandbox Code Playgroud)

django nginx docker circusd devops

6
推荐指数
1
解决办法
1301
查看次数

无法使AWS ECS服务通过服务发现进行通信

我正在尝试使2个服务通过AWS ECS服务中的服务发现终端节点进行通信。

例:

Service1:运行任务定义以运行nginx和phpfpm

Service2:运行任务定义以运行Redis

现在,我需要使service1容器与service2容器通信

根据互联网上的文档和资源。这是我所做的,无法满足需要。

  1. 我们需要打开服务发现(完成)
  2. 设置适当的服务名称和名称空间,它们将用作服务发现端点(完成)
  3. 使用以上属性集创建任务定义并创建服务(完成)
  4. 现在,AWS将在Route53上生成SRV记录(确定)

现在,当使用服务发现端点时,通常采用以下格式 service_discovery_service_name.service_discovery_namespace.

错误日志显示,无法解析名称。

在此处输入图片说明

service-discovery amazon-web-services amazon-ecs devops

6
推荐指数
2
解决办法
782
查看次数

如何使用ASP.NET管理指向Webpacked JS文件新版本的发布?

我正在与一个具有整体式ASP.NET应用程序作为其后端,但还在同一GIT存储库中为其React.js前端托管Webpacked JS文件的客户端一起工作。显而易见的问题是,由于manifest.jsonEC2实例中的,他们每次要进行前端发布时,都必须发布并构建整个.NET应用程序。这个想法是,在许多情况下还将有许多版本,可以分发给不同的用户,进行各种级别的后期制作测试等,包括具有后期制作运行状况检查和自动回滚的标准DevOps CI / CD管道。那是最终目标。同时,他们需要将前端/后端发行版分开,这意味着这两个版本都需要单独的版本控制。因此,在经过很多序言之后,向社区提出的问题有两个:

  1. 有没有人经历过这种环境并提出可行的解决方案?
  2. 有人对如何解决这个问题有很好的建议吗?

请记住,此解决方案还应期望进行本地开发,PR测试以及蓝绿色产品设置。

javascript asp.net amazon-ec2 reactjs devops

6
推荐指数
1
解决办法
97
查看次数