小编Not*_*bby的帖子

让 jenkins 启动一个 EC2 实例并终止它

我有一个完整的部署作业,它获取正在运行的实例的 ip 并在其上部署我的系统。

我目前持有一个 EC2 实例,用于每晚运行的自动化测试,但该实例很昂贵,我正在寻找一种在测试前启动它并在测试后终止它的方法。

我寻找可以提供帮助的 EC2 插件,最接近的是这个,但这是用于制作奴隶的,这不是我想要的。

我希望能够启动一个 EC2 实例,并将其 IP 地址传递给自动化测试作业,然后在完成后终止该实例。

我开始为此制作一个命令行 bash 文件,但这似乎工作量太大,我想也许我遗漏了一些东西。

amazon-ec2 amazon-web-services jenkins jenkins-plugins

5
推荐指数
1
解决办法
4039
查看次数

Docker-compose tagging and pushing

I have a few docker containers that I try to sync with docker-compose (currently are being run by bash scripts). I'm looking for a way to tag and push them to our ec2 based dockerhub (private server).

Using simply docker we did something like this (for each container):

$ docker build -f someDockerfile -t some
$ docker tag some <docker_hub_server>/some
$ docker push <docker_hub_server>/some
Run Code Online (Sandbox Code Playgroud)

I'm trying to replicate this in docker-compose. I tried a few things but this one …

docker docker-compose

4
推荐指数
2
解决办法
4395
查看次数

git 的最终别名失败(__git_aliases 命令似乎已被弃用)

我正在尝试使用The Ultimate Git Alias Setup创建具有自动完成功能的 git 别名。我按照说明执行了所有操作,但是将以下内容放入我的 .zshrc 文件会导致错误:

if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion                                                                                                                                                                
fi


function_exists() {
    declare -f -F $1 > /dev/null
    return $?
}

for al in `__git_aliases`; do
    alias g$al="git $al"

    complete_func=_git_$(__git_aliased_command $al)
    function_exists $complete_fnc && __git_complete g$al $complete_func
done
Run Code Online (Sandbox Code Playgroud)

错误不直观:.zshrc:153: parse error near\n'`

但是尝试__git_aliases在命令行中运行会给出:zsh: command not found: __git_aliases所以我认为这就是问题所在。

然后我在网上发现这可能已被 git 弃用,并且该行应该给出相同的输出:

git config --global alias.aliases "config --get-regex 'alias*'" …

git bash zsh

4
推荐指数
1
解决办法
646
查看次数

在 AWS RDS 实例上删除数据库 - Postgres

仅超级用户(仅限 AWS 保留)会阻止尝试从 AWS RDS (postgres) 删除数据库。

尝试在我的实例上运行此命令:

DROP DATABASE "dbname"
Run Code Online (Sandbox Code Playgroud)

结果出现错误:

psycopg2.InternalError: DROP DATABASE cannot run inside a transaction block
Run Code Online (Sandbox Code Playgroud)

我在AWS论坛上看到了这个问题,似乎很多人都在活跃,但没有AWS代表给出有效的解决方案。

如何删除我的数据库而不删除整个实例并再次提升它?

postgresql amazon-web-services amazon-rds

4
推荐指数
1
解决办法
5153
查看次数

仅在服务尚未启动时才启动服务 - docker-compose

我有一个控制一些服务的 docker-compose 文件。其中之一是数据库服务。我并不总是想重新启动数据库服务。

示例 docker-compose.yml:

version: '3'
services:
  base:
    commad: "echo somecommand"
  postgres:
    container_name: postgres
    image: "postgres:latest"
    environment:
      - POSTGRES_PASSWORD=usr
      - POSTGRES_USER=use
      - POSTGRES_DB=usr
    ports:
      - 5432:5432
Run Code Online (Sandbox Code Playgroud)

我该怎么做docker-compose up,但是如果 db 服务(在我的情况下为 postgres)已经启动,请确保它不会重新启动。

我目前正在使用 docker-compose down/up,我的数据库重新启动。

我试图添加--scale postgres=0到我的 docker-compose up 命令中,但随后它同时关闭了 postgres。

docker docker-compose

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

从名称动态获取Docker映像ID

我需要动态删除服务器中的所有docker映像,但postgres映像和容器除外。

现在,我需要一种动态方式来获取该docker映像的ID,这样我就可以避免使用:

docker rmi $(docker images -q | grep -v $<id_of_postgres_container>)
Run Code Online (Sandbox Code Playgroud)

对于容器部分,我设法找到了这个:

docker ps -aqf "name=postgres"
Run Code Online (Sandbox Code Playgroud)

仅返回postgres容器的ID。有什么方法可以对图像做同样的事情而又不会太深入bash脚本?

或任何更好的建议?

bash docker

0
推荐指数
2
解决办法
1561
查看次数