mirror of
https://github.com/TECHNOFAB11/dbmate.git
synced 2025-12-12 16:10:03 +01:00
Add docker-compose healthcheck for test dependencies (#12)
This commit is contained in:
parent
c4fc848624
commit
247d7296f8
5 changed files with 33 additions and 32 deletions
|
|
@ -2,6 +2,12 @@ sudo: required
|
|||
services:
|
||||
- docker
|
||||
install:
|
||||
- curl -fsSL https://github.com/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > docker-compose
|
||||
- chmod +x docker-compose
|
||||
- sudo mv docker-compose /usr/local/bin/docker-compose
|
||||
- docker-compose version
|
||||
- docker-compose pull
|
||||
- docker-compose build
|
||||
- docker-compose up -d
|
||||
- docker-compose run dbmate go version
|
||||
script:
|
||||
|
|
|
|||
2
Makefile
2
Makefile
|
|
@ -7,7 +7,9 @@ clean:
|
|||
rm -rf dist
|
||||
|
||||
container:
|
||||
$(DC) pull
|
||||
$(DC) build
|
||||
$(DC) up -d
|
||||
|
||||
lint:
|
||||
$(DC) run dbmate golint
|
||||
|
|
|
|||
|
|
@ -1,13 +1,23 @@
|
|||
version: '2.1'
|
||||
services:
|
||||
dbmate:
|
||||
build: .
|
||||
volumes:
|
||||
- .:/go/src/github.com/amacneil/dbmate
|
||||
links:
|
||||
- mysql
|
||||
- postgres
|
||||
depends_on:
|
||||
mysql:
|
||||
image: mysql:5.7
|
||||
condition: service_healthy
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
|
||||
mysql:
|
||||
image: mysql
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: root
|
||||
healthcheck:
|
||||
test: ["CMD", "mysqladmin", "status", "-proot"]
|
||||
|
||||
postgres:
|
||||
image: postgres:9.4
|
||||
image: postgres
|
||||
healthcheck:
|
||||
test: ["CMD", "pg_isready"]
|
||||
|
|
|
|||
|
|
@ -3,23 +3,15 @@ package main
|
|||
import (
|
||||
"database/sql"
|
||||
"net/url"
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func mySQLTestURL(t *testing.T) *url.URL {
|
||||
str := os.Getenv("MYSQL_PORT")
|
||||
require.NotEmpty(t, str, "missing MYSQL_PORT environment variable")
|
||||
|
||||
u, err := url.Parse(str)
|
||||
u, err := url.Parse("mysql://root:root@mysql:3306/dbmate")
|
||||
require.Nil(t, err)
|
||||
|
||||
u.Scheme = "mysql"
|
||||
u.User = url.UserPassword("root", "root")
|
||||
u.Path = "/dbmate"
|
||||
|
||||
return u
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,24 +3,15 @@ package main
|
|||
import (
|
||||
"database/sql"
|
||||
"net/url"
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func postgresTestURL(t *testing.T) *url.URL {
|
||||
str := os.Getenv("POSTGRES_PORT")
|
||||
require.NotEmpty(t, str, "missing POSTGRES_PORT environment variable")
|
||||
|
||||
u, err := url.Parse(str)
|
||||
u, err := url.Parse("postgres://postgres:postgres@postgres/dbmate?sslmode=disable")
|
||||
require.Nil(t, err)
|
||||
|
||||
u.Scheme = "postgres"
|
||||
u.User = url.User("postgres")
|
||||
u.Path = "/dbmate"
|
||||
u.RawQuery = "sslmode=disable"
|
||||
|
||||
return u
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue