Compare commits
17 Commits
v0.2.2
...
gitea-releases
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0b2078c6c5 | ||
|
|
0ed96f6c22 | ||
|
|
8c12e80ad2 | ||
|
|
f6a9199f25 | ||
|
|
3c2cae3011 | ||
|
|
f9c082d30f | ||
|
|
5bb4da6178 | ||
|
|
d810bcb61c | ||
|
|
e7353bb8df | ||
|
|
06ea8bea30 | ||
|
|
2e5ab23bd1 | ||
|
|
aa741eb49e | ||
|
|
96c9b7d74c | ||
|
|
31336280e6 | ||
|
|
a1b906b94a | ||
|
|
0a5be250b5 | ||
|
|
88f77aa27c |
+43
-25
@@ -3,33 +3,15 @@ kind: pipeline
|
|||||||
name: test
|
name: test
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
- name: test
|
- name: test
|
||||||
image: golang:1.12
|
image: golang:1.12
|
||||||
environment:
|
environment:
|
||||||
VERSION: ${DRONE_TAG:-${DRONE_COMMIT}}
|
VERSION: ${DRONE_TAG:-${DRONE_COMMIT}}
|
||||||
commands:
|
commands:
|
||||||
- make build
|
|
||||||
- make test
|
- make test
|
||||||
|
|
||||||
- name: check
|
- name: check
|
||||||
image: python:3
|
image: iamthefij/drone-pre-commit:personal
|
||||||
commands:
|
|
||||||
- pip install pre-commit==1.20.0
|
|
||||||
- make check
|
|
||||||
|
|
||||||
- name: notify
|
|
||||||
image: drillster/drone-email
|
|
||||||
settings:
|
|
||||||
host:
|
|
||||||
from_secret: SMTP_HOST
|
|
||||||
username:
|
|
||||||
from_secret: SMTP_USER
|
|
||||||
password:
|
|
||||||
from_secret: SMTP_PASS
|
|
||||||
from: drone@iamthefij.com
|
|
||||||
when:
|
|
||||||
status: [changed, failure]
|
|
||||||
|
|
||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
@@ -52,7 +34,31 @@ steps:
|
|||||||
environment:
|
environment:
|
||||||
VERSION: ${DRONE_TAG:-${DRONE_COMMIT}}
|
VERSION: ${DRONE_TAG:-${DRONE_COMMIT}}
|
||||||
commands:
|
commands:
|
||||||
- make all-linux
|
- make all
|
||||||
|
|
||||||
|
- name: compress binaries for release
|
||||||
|
image: ubuntu
|
||||||
|
commands:
|
||||||
|
- find ./dist -type f -executable -execdir tar -czvf {}.tar.gz {} \;
|
||||||
|
when:
|
||||||
|
event: tag
|
||||||
|
|
||||||
|
- name: upload gitea release
|
||||||
|
image: plugins/gitea-release
|
||||||
|
settings:
|
||||||
|
title: ${DRONE_TAG}
|
||||||
|
files: dist/*.tar.gz
|
||||||
|
checksum:
|
||||||
|
- md5
|
||||||
|
- sha1
|
||||||
|
- sha256
|
||||||
|
- sha512
|
||||||
|
base_url:
|
||||||
|
from_secret: gitea_base_url
|
||||||
|
api_key:
|
||||||
|
from_secret: gitea_token
|
||||||
|
when:
|
||||||
|
event: tag
|
||||||
|
|
||||||
- name: push image - arm
|
- name: push image - arm
|
||||||
image: plugins/docker
|
image: plugins/docker
|
||||||
@@ -104,15 +110,27 @@ steps:
|
|||||||
password:
|
password:
|
||||||
from_secret: docker_password
|
from_secret: docker_password
|
||||||
|
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
name: notify
|
||||||
|
|
||||||
|
depends_on:
|
||||||
|
- test
|
||||||
|
- publish
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
status:
|
||||||
|
- failure
|
||||||
|
|
||||||
|
steps:
|
||||||
|
|
||||||
- name: notify
|
- name: notify
|
||||||
image: drillster/drone-email
|
image: drillster/drone-email
|
||||||
settings:
|
settings:
|
||||||
host:
|
host:
|
||||||
from_secret: SMTP_HOST
|
from_secret: SMTP_HOST # pragma: whitelist secret
|
||||||
username:
|
username:
|
||||||
from_secret: SMTP_USER
|
from_secret: SMTP_USER # pragma: whitelist secret
|
||||||
password:
|
password:
|
||||||
from_secret: SMTP_PASS
|
from_secret: SMTP_PASS # pragma: whitelist secret
|
||||||
from: drone@iamthefij.com
|
from: drone@iamthefij.com
|
||||||
when:
|
|
||||||
status: [changed, failure]
|
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ test:
|
|||||||
install-hooks:
|
install-hooks:
|
||||||
pre-commit install --install-hooks
|
pre-commit install --install-hooks
|
||||||
|
|
||||||
# Checks files for encryption
|
# Runs pre-commit checks on files
|
||||||
.PHONY: check
|
.PHONY: check
|
||||||
check:
|
check:
|
||||||
pre-commit run --all-files
|
pre-commit run --all-files
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ func (alert *Alert) BuildTemplates() error {
|
|||||||
cmdPart = legacy.Replace(cmdPart)
|
cmdPart = legacy.Replace(cmdPart)
|
||||||
}
|
}
|
||||||
alert.commandTemplate = append(alert.commandTemplate, template.Must(
|
alert.commandTemplate = append(alert.commandTemplate, template.Must(
|
||||||
template.New(alert.Name+string(i)).Parse(cmdPart),
|
template.New(alert.Name+fmt.Sprint(i)).Parse(cmdPart),
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
} else if alert.commandShellTemplate == nil && alert.Command.ShellCommand != "" {
|
} else if alert.commandShellTemplate == nil && alert.Command.ShellCommand != "" {
|
||||||
|
|||||||
+15
-3
@@ -11,6 +11,7 @@ set -e
|
|||||||
# To override, export DOCKER_HOST to a new hostname
|
# To override, export DOCKER_HOST to a new hostname
|
||||||
DOCKER_HOST="${DOCKER_HOST:=socket}"
|
DOCKER_HOST="${DOCKER_HOST:=socket}"
|
||||||
container_name="$1"
|
container_name="$1"
|
||||||
|
num_log_lines="$2"
|
||||||
|
|
||||||
# Curls Docker either using a socket or URL
|
# Curls Docker either using a socket or URL
|
||||||
function curl_docker {
|
function curl_docker {
|
||||||
@@ -31,21 +32,32 @@ function get_container_id {
|
|||||||
|
|
||||||
# Returns container JSON
|
# Returns container JSON
|
||||||
function inspect_container {
|
function inspect_container {
|
||||||
local container_id=$1
|
local container_id="$1"
|
||||||
curl_docker "containers/$container_id/json"
|
curl_docker "containers/$container_id/json"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Gets some lines from docker log
|
||||||
|
function get_logs {
|
||||||
|
container_id="$1"
|
||||||
|
num_lines="$2"
|
||||||
|
curl_docker "containers/$container_id/logs?stdout=1&stderr=1" | tail -n "$num_lines"
|
||||||
|
}
|
||||||
|
|
||||||
if [ -z "$container_name" ]; then
|
if [ -z "$container_name" ]; then
|
||||||
echo "Usage: $0 container_name"
|
echo "Usage: $0 container_name [num_log_lines]"
|
||||||
echo "Will exit with the last status code of continer with provided name"
|
echo "Will exit with the last status code of continer with provided name"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
container_id=$(get_container_id $container_name)
|
container_id=$(get_container_id "$container_name")
|
||||||
if [ -z "$container_id" ]; then
|
if [ -z "$container_id" ]; then
|
||||||
echo "ERROR: Could not find container with name: $container_name"
|
echo "ERROR: Could not find container with name: $container_name"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
exit_code=$(inspect_container "$container_id" | jq -r .State.ExitCode)
|
exit_code=$(inspect_container "$container_id" | jq -r .State.ExitCode)
|
||||||
|
|
||||||
|
if [ -n "$num_log_lines" ]; then
|
||||||
|
get_logs "$container_id" "$num_log_lines"
|
||||||
|
fi
|
||||||
|
|
||||||
exit "$exit_code"
|
exit "$exit_code"
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ set -e
|
|||||||
# To override, export DOCKER_HOST to a new hostname
|
# To override, export DOCKER_HOST to a new hostname
|
||||||
DOCKER_HOST="${DOCKER_HOST:=socket}"
|
DOCKER_HOST="${DOCKER_HOST:=socket}"
|
||||||
container_name="$1"
|
container_name="$1"
|
||||||
|
num_log_lines="$2"
|
||||||
|
|
||||||
# Curls Docker either using a socket or URL
|
# Curls Docker either using a socket or URL
|
||||||
function curl_docker {
|
function curl_docker {
|
||||||
@@ -35,8 +36,15 @@ function inspect_container {
|
|||||||
curl_docker "containers/$container_id/json"
|
curl_docker "containers/$container_id/json"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Gets some lines from docker log
|
||||||
|
function get_logs {
|
||||||
|
container_id="$1"
|
||||||
|
num_lines="$2"
|
||||||
|
curl_docker "containers/$container_id/logs?stdout=1&stderr=1" | tail -n "$num_lines"
|
||||||
|
}
|
||||||
|
|
||||||
if [ -z "$container_name" ]; then
|
if [ -z "$container_name" ]; then
|
||||||
echo "Usage: $0 container_name"
|
echo "Usage: $0 container_name [num_log_lines]"
|
||||||
echo "Will return results of healthcheck for continer with provided name"
|
echo "Will return results of healthcheck for continer with provided name"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
@@ -48,6 +56,10 @@ if [ -z "$container_id" ]; then
|
|||||||
fi
|
fi
|
||||||
health=$(inspect_container "$container_id" | jq -r '.State.Health.Status')
|
health=$(inspect_container "$container_id" | jq -r '.State.Health.Status')
|
||||||
|
|
||||||
|
if [ -n "$num_log_lines" ]; then
|
||||||
|
get_logs "$container_id" "$num_log_lines"
|
||||||
|
fi
|
||||||
|
|
||||||
case "$health" in
|
case "$health" in
|
||||||
null)
|
null)
|
||||||
echo "No healthcheck results"
|
echo "No healthcheck results"
|
||||||
|
|||||||
Reference in New Issue
Block a user