mirror of
https://github.com/thegeeklab/wp-ansible.git
synced 2024-11-22 10:00:38 +00:00
Merge pull request #12 from drone-plugins/upgrade-drone
Upgrade and switch to Drone 1.0.0
This commit is contained in:
commit
9c9b67aa90
@ -1,66 +0,0 @@
|
|||||||
version: '{build}'
|
|
||||||
image: 'Visual Studio 2017'
|
|
||||||
platform: 'x64'
|
|
||||||
|
|
||||||
clone_folder: 'c:\gopath\src\github.com\drone-plugins\drone-ansible'
|
|
||||||
max_jobs: 1
|
|
||||||
|
|
||||||
environment:
|
|
||||||
GOPATH: c:\gopath
|
|
||||||
DOCKER_USERNAME:
|
|
||||||
secure: '4YzzahbEiMZQJpOCOd1LAw=='
|
|
||||||
DOCKER_PASSWORD:
|
|
||||||
secure: 'VqO/G3Zfslu6zSLdwHKO+Q=='
|
|
||||||
GO111MODULE: on
|
|
||||||
|
|
||||||
install:
|
|
||||||
- ps: |
|
|
||||||
docker version
|
|
||||||
go version
|
|
||||||
- ps: |
|
|
||||||
$env:Path = "c:\gopath\bin;$env:Path"
|
|
||||||
|
|
||||||
build_script:
|
|
||||||
- ps: |
|
|
||||||
if ( $env:APPVEYOR_REPO_TAG -eq 'false' ) {
|
|
||||||
go build -ldflags "-X main.build=$env:APPVEYOR_BUILD_VERSION" -a -o release/drone-ansible.exe
|
|
||||||
} else {
|
|
||||||
$version = $env:APPVEYOR_REPO_TAG_NAME.substring(1)
|
|
||||||
go build -ldflags "-X main.version=$version -X main.build=$env:APPVEYOR_BUILD_VERSION" -a -o release/drone-ansible.exe
|
|
||||||
}
|
|
||||||
|
|
||||||
docker pull microsoft/nanoserver:10.0.14393.1593
|
|
||||||
docker build -f Dockerfile.windows -t plugins/ansible:windows-amd64 .
|
|
||||||
|
|
||||||
test_script:
|
|
||||||
- ps: |
|
|
||||||
docker run --rm plugins/ansible:windows-amd64 --version
|
|
||||||
|
|
||||||
deploy_script:
|
|
||||||
- ps: |
|
|
||||||
$ErrorActionPreference = 'Stop';
|
|
||||||
|
|
||||||
if ( $env:APPVEYOR_PULL_REQUEST_NUMBER ) {
|
|
||||||
Write-Host Nothing to deploy.
|
|
||||||
} else {
|
|
||||||
echo $env:DOCKER_PASSWORD | docker login --username $env:DOCKER_USERNAME --password-stdin
|
|
||||||
|
|
||||||
if ( $env:APPVEYOR_REPO_TAG -eq 'true' ) {
|
|
||||||
$major,$minor,$patch = $env:APPVEYOR_REPO_TAG_NAME.substring(1).split('.')
|
|
||||||
|
|
||||||
docker push plugins/ansible:windows-amd64
|
|
||||||
|
|
||||||
docker tag plugins/ansible:windows-amd64 plugins/ansible:$major.$minor.$patch-windows-amd64
|
|
||||||
docker push plugins/ansible:$major.$minor.$patch-windows-amd64
|
|
||||||
|
|
||||||
docker tag plugins/ansible:windows-amd64 plugins/ansible:$major.$minor-windows-amd64
|
|
||||||
docker push plugins/ansible:$major.$minor-windows-amd64
|
|
||||||
|
|
||||||
docker tag plugins/ansible:windows-amd64 plugins/ansible:$major-windows-amd64
|
|
||||||
docker push plugins/ansible:$major-windows-amd64
|
|
||||||
} else {
|
|
||||||
if ( $env:APPVEYOR_REPO_BRANCH -eq 'master' ) {
|
|
||||||
docker push plugins/ansible:windows-amd64
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
169
.drone.jsonnet
Normal file
169
.drone.jsonnet
Normal file
@ -0,0 +1,169 @@
|
|||||||
|
local PipelineTesting = {
|
||||||
|
kind: "pipeline",
|
||||||
|
name: "testing",
|
||||||
|
platform: {
|
||||||
|
os: "linux",
|
||||||
|
arch: "amd64",
|
||||||
|
},
|
||||||
|
steps: [
|
||||||
|
{
|
||||||
|
name: "vet",
|
||||||
|
image: "golang:1.11",
|
||||||
|
pull: "always",
|
||||||
|
environment: {
|
||||||
|
GO111MODULE: "on",
|
||||||
|
},
|
||||||
|
commands: [
|
||||||
|
"go vet ./...",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "test",
|
||||||
|
image: "golang:1.11",
|
||||||
|
pull: "always",
|
||||||
|
environment: {
|
||||||
|
GO111MODULE: "on",
|
||||||
|
},
|
||||||
|
commands: [
|
||||||
|
"go test -cover ./...",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
trigger: {
|
||||||
|
branch: [ "master" ],
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
local PipelineBuild(os="linux", arch="amd64") = {
|
||||||
|
kind: "pipeline",
|
||||||
|
name: os + "-" + arch,
|
||||||
|
platform: {
|
||||||
|
os: os,
|
||||||
|
arch: arch,
|
||||||
|
},
|
||||||
|
steps: [
|
||||||
|
{
|
||||||
|
name: "build-push",
|
||||||
|
image: "golang:1.11",
|
||||||
|
pull: "always",
|
||||||
|
environment: {
|
||||||
|
CGO_ENABLED: "0",
|
||||||
|
GO111MODULE: "on",
|
||||||
|
},
|
||||||
|
commands: [
|
||||||
|
"go build -v -ldflags \"-X main.build=${DRONE_BUILD_NUMBER}\" -a -o release/" + os + "/" + arch + "/drone-ansible",
|
||||||
|
],
|
||||||
|
when: {
|
||||||
|
event: [ "push", "pull_request" ],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "build-tag",
|
||||||
|
image: "golang:1.11",
|
||||||
|
pull: "always",
|
||||||
|
environment: {
|
||||||
|
CGO_ENABLED: "0",
|
||||||
|
GO111MODULE: "on",
|
||||||
|
},
|
||||||
|
commands: [
|
||||||
|
"go build -v -ldflags \"-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}\" -a -o release/" + os + "/" + arch + "/drone-ansible",
|
||||||
|
],
|
||||||
|
when: {
|
||||||
|
event: [ "tag" ],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "executable",
|
||||||
|
image: "golang:1.11",
|
||||||
|
pull: "always",
|
||||||
|
commands: [
|
||||||
|
"./release/" + os + "/" + arch + "/drone-ansible --help",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "dryrun",
|
||||||
|
image: "plugins/docker:" + os + "-" + arch,
|
||||||
|
pull: "always",
|
||||||
|
settings: {
|
||||||
|
dry_run: true,
|
||||||
|
tags: os + "-" + arch,
|
||||||
|
dockerfile: "docker/Dockerfile." + os + "." + arch,
|
||||||
|
repo: "plugins/ansible",
|
||||||
|
username: { "from_secret": "docker_username" },
|
||||||
|
password: { "from_secret": "docker_password" },
|
||||||
|
},
|
||||||
|
when: {
|
||||||
|
event: [ "pull_request" ],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "publish",
|
||||||
|
image: "plugins/docker:" + os + "-" + arch,
|
||||||
|
pull: "always",
|
||||||
|
settings: {
|
||||||
|
auto_tag: true,
|
||||||
|
auto_tag_suffix: os + "-" + arch,
|
||||||
|
dockerfile: "docker/Dockerfile." + os + "." + arch,
|
||||||
|
repo: "plugins/ansible",
|
||||||
|
username: { "from_secret": "docker_username" },
|
||||||
|
password: { "from_secret": "docker_password" },
|
||||||
|
},
|
||||||
|
when: {
|
||||||
|
event: [ "push", "tag" ],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
depends_on: [
|
||||||
|
"testing",
|
||||||
|
],
|
||||||
|
trigger: {
|
||||||
|
branch: [ "master" ],
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
local PipelineNotifications = {
|
||||||
|
kind: "pipeline",
|
||||||
|
name: "notifications",
|
||||||
|
platform: {
|
||||||
|
os: "linux",
|
||||||
|
arch: "amd64",
|
||||||
|
},
|
||||||
|
steps: [
|
||||||
|
{
|
||||||
|
name: "manifest",
|
||||||
|
image: "plugins/manifest:1",
|
||||||
|
pull: "always",
|
||||||
|
settings: {
|
||||||
|
username: { "from_secret": "docker_username" },
|
||||||
|
password: { "from_secret": "docker_password" },
|
||||||
|
spec: "docker/manifest.tmpl",
|
||||||
|
ignore_missing: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "microbadger",
|
||||||
|
image: "plugins/webhook:1",
|
||||||
|
pull: "always",
|
||||||
|
settings: {
|
||||||
|
url: { "from_secret": "microbadger_url" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
depends_on: [
|
||||||
|
"linux-amd64",
|
||||||
|
"linux-arm64",
|
||||||
|
"linux-arm",
|
||||||
|
],
|
||||||
|
trigger: {
|
||||||
|
branch: [ "master" ],
|
||||||
|
event: [ "push", "tag" ],
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
[
|
||||||
|
PipelineTesting,
|
||||||
|
PipelineBuild("linux", "amd64"),
|
||||||
|
PipelineBuild("linux", "arm64"),
|
||||||
|
PipelineBuild("linux", "arm"),
|
||||||
|
PipelineNotifications,
|
||||||
|
]
|
76
.drone.windows.yml
Normal file
76
.drone.windows.yml
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
name: windows-amd64
|
||||||
|
|
||||||
|
platform:
|
||||||
|
os: windows
|
||||||
|
arch: amd64
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: build-push
|
||||||
|
pull: always
|
||||||
|
image: golang:1.11
|
||||||
|
commands:
|
||||||
|
- "go build -v -ldflags \"-X main.build=${DRONE_BUILD_NUMBER}\" -a -o release/windows/amd64/drone-ansible"
|
||||||
|
environment:
|
||||||
|
CGO_ENABLED: 0
|
||||||
|
GO111MODULE: on
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
- pull_request
|
||||||
|
|
||||||
|
- name: build-tag
|
||||||
|
pull: always
|
||||||
|
image: golang:1.11
|
||||||
|
commands:
|
||||||
|
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}\" -a -o release/windows/amd64/drone-ansible"
|
||||||
|
environment:
|
||||||
|
CGO_ENABLED: 0
|
||||||
|
GO111MODULE: on
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- tag
|
||||||
|
|
||||||
|
- name: executable
|
||||||
|
pull: always
|
||||||
|
image: golang:1.11
|
||||||
|
commands:
|
||||||
|
- ./release/windows/amd64/drone-ansible --help
|
||||||
|
|
||||||
|
- name: dryrun
|
||||||
|
pull: always
|
||||||
|
image: plugins/docker:windows-amd64
|
||||||
|
settings:
|
||||||
|
dockerfile: docker/Dockerfile.windows.amd64
|
||||||
|
dry_run: true
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
repo: plugins/ansible
|
||||||
|
tags: windows-amd64
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- pull_request
|
||||||
|
|
||||||
|
- name: publish
|
||||||
|
pull: always
|
||||||
|
image: plugins/docker:windows-amd64
|
||||||
|
settings:
|
||||||
|
auto_tag: true
|
||||||
|
auto_tag_suffix: windows-amd64
|
||||||
|
dockerfile: docker/Dockerfile.windows.amd64
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
repo: plugins/ansible
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
- tag
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
branch:
|
||||||
|
- master
|
412
.drone.yml
412
.drone.yml
@ -1,147 +1,309 @@
|
|||||||
workspace:
|
---
|
||||||
base: /go
|
kind: pipeline
|
||||||
path: src/github.com/drone-plugins/drone-ansible
|
name: testing
|
||||||
|
|
||||||
pipeline:
|
platform:
|
||||||
test:
|
os: linux
|
||||||
|
arch: amd64
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: vet
|
||||||
|
pull: always
|
||||||
image: golang:1.11
|
image: golang:1.11
|
||||||
pull: true
|
|
||||||
environment:
|
|
||||||
- GO111MODULE=on
|
|
||||||
commands:
|
commands:
|
||||||
- go vet ./...
|
- go vet ./...
|
||||||
- go test -cover ./...
|
|
||||||
|
|
||||||
build_linux_amd64:
|
|
||||||
image: golang:1.11
|
|
||||||
pull: true
|
|
||||||
group: build
|
|
||||||
environment:
|
environment:
|
||||||
- GOOS=linux
|
GO111MODULE: on
|
||||||
- GOARCH=amd64
|
|
||||||
- CGO_ENABLED=0
|
- name: test
|
||||||
- GO111MODULE=on
|
pull: always
|
||||||
|
image: golang:1.11
|
||||||
commands:
|
commands:
|
||||||
- |
|
- go test -cover ./...
|
||||||
if test "${DRONE_TAG}" = ""; then
|
environment:
|
||||||
go build -v -ldflags "-X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/amd64/drone-ansible
|
GO111MODULE: on
|
||||||
else
|
|
||||||
go build -v -ldflags "-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/amd64/drone-ansible
|
|
||||||
fi
|
|
||||||
|
|
||||||
# build_linux_i386:
|
trigger:
|
||||||
# image: golang:1.11
|
branch:
|
||||||
# pull: true
|
- master
|
||||||
# group: build
|
|
||||||
# environment:
|
|
||||||
# - GOOS=linux
|
|
||||||
# - GOARCH=386
|
|
||||||
# - CGO_ENABLED=0
|
|
||||||
# - GO111MODULE=on
|
|
||||||
# commands:
|
|
||||||
# - |
|
|
||||||
# if test "${DRONE_TAG}" = ""; then
|
|
||||||
# go build -v -ldflags "-X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/i386/drone-ansible
|
|
||||||
# else
|
|
||||||
# go build -v -ldflags "-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/i386/drone-ansible
|
|
||||||
# fi
|
|
||||||
|
|
||||||
# build_linux_arm64:
|
---
|
||||||
# image: golang:1.11
|
kind: pipeline
|
||||||
# pull: true
|
name: linux-amd64
|
||||||
# group: build
|
|
||||||
# environment:
|
|
||||||
# - GOOS=linux
|
|
||||||
# - GOARCH=arm64
|
|
||||||
# - CGO_ENABLED=0
|
|
||||||
# - GO111MODULE=on
|
|
||||||
# commands:
|
|
||||||
# - |
|
|
||||||
# if test "${DRONE_TAG}" = ""; then
|
|
||||||
# go build -v -ldflags "-X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/arm64/drone-ansible
|
|
||||||
# else
|
|
||||||
# go build -v -ldflags "-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/arm64/drone-ansible
|
|
||||||
# fi
|
|
||||||
|
|
||||||
# build_linux_arm:
|
platform:
|
||||||
# image: golang:1.11
|
os: linux
|
||||||
# pull: true
|
arch: amd64
|
||||||
# group: build
|
|
||||||
# environment:
|
|
||||||
# - GOOS=linux
|
|
||||||
# - GOARCH=arm
|
|
||||||
# - CGO_ENABLED=0
|
|
||||||
# - GOARM=7
|
|
||||||
# - GO111MODULE=on
|
|
||||||
# commands:
|
|
||||||
# - |
|
|
||||||
# if test "${DRONE_TAG}" = ""; then
|
|
||||||
# go build -v -ldflags "-X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/arm/drone-ansible
|
|
||||||
# else
|
|
||||||
# go build -v -ldflags "-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/arm/drone-ansible
|
|
||||||
# fi
|
|
||||||
|
|
||||||
publish_linux_amd64:
|
steps:
|
||||||
image: plugins/docker:17.12
|
- name: build-push
|
||||||
pull: true
|
pull: always
|
||||||
secrets: [ docker_username, docker_password ]
|
image: golang:1.11
|
||||||
group: docker
|
commands:
|
||||||
|
- "go build -v -ldflags \"-X main.build=${DRONE_BUILD_NUMBER}\" -a -o release/linux/amd64/drone-ansible"
|
||||||
|
environment:
|
||||||
|
CGO_ENABLED: 0
|
||||||
|
GO111MODULE: on
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
- pull_request
|
||||||
|
|
||||||
|
- name: build-tag
|
||||||
|
pull: always
|
||||||
|
image: golang:1.11
|
||||||
|
commands:
|
||||||
|
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}\" -a -o release/linux/amd64/drone-ansible"
|
||||||
|
environment:
|
||||||
|
CGO_ENABLED: 0
|
||||||
|
GO111MODULE: on
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- tag
|
||||||
|
|
||||||
|
- name: executable
|
||||||
|
pull: always
|
||||||
|
image: golang:1.11
|
||||||
|
commands:
|
||||||
|
- ./release/linux/amd64/drone-ansible --help
|
||||||
|
|
||||||
|
- name: dryrun
|
||||||
|
pull: always
|
||||||
|
image: plugins/docker:linux-amd64
|
||||||
|
settings:
|
||||||
|
dockerfile: docker/Dockerfile.linux.amd64
|
||||||
|
dry_run: true
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
repo: plugins/ansible
|
repo: plugins/ansible
|
||||||
|
tags: linux-amd64
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- pull_request
|
||||||
|
|
||||||
|
- name: publish
|
||||||
|
pull: always
|
||||||
|
image: plugins/docker:linux-amd64
|
||||||
|
settings:
|
||||||
auto_tag: true
|
auto_tag: true
|
||||||
auto_tag_suffix: linux-amd64
|
auto_tag_suffix: linux-amd64
|
||||||
dockerfile: Dockerfile
|
dockerfile: docker/Dockerfile.linux.amd64
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
repo: plugins/ansible
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
when:
|
when:
|
||||||
event: [ push, tag ]
|
event:
|
||||||
|
- push
|
||||||
|
- tag
|
||||||
|
|
||||||
# publish_linux_i386:
|
trigger:
|
||||||
# image: plugins/docker:17.12
|
branch:
|
||||||
# pull: true
|
- master
|
||||||
# secrets: [ docker_username, docker_password ]
|
|
||||||
# group: docker
|
|
||||||
# repo: plugins/ansible
|
|
||||||
# auto_tag: true
|
|
||||||
# auto_tag_suffix: linux-i386
|
|
||||||
# dockerfile: Dockerfile.i386
|
|
||||||
# when:
|
|
||||||
# event: [ push, tag ]
|
|
||||||
|
|
||||||
# publish_linux_arm64:
|
depends_on:
|
||||||
# image: plugins/docker:17.12
|
- testing
|
||||||
# pull: true
|
|
||||||
# secrets: [ docker_username, docker_password ]
|
|
||||||
# group: docker
|
|
||||||
# repo: plugins/ansible
|
|
||||||
# auto_tag: true
|
|
||||||
# auto_tag_suffix: linux-arm64
|
|
||||||
# dockerfile: Dockerfile.arm64
|
|
||||||
# when:
|
|
||||||
# event: [ push, tag ]
|
|
||||||
|
|
||||||
# publish_linux_arm:
|
---
|
||||||
# image: plugins/docker:17.12
|
kind: pipeline
|
||||||
# pull: true
|
name: linux-arm64
|
||||||
# secrets: [ docker_username, docker_password ]
|
|
||||||
# group: docker
|
|
||||||
# repo: plugins/ansible
|
|
||||||
# auto_tag: true
|
|
||||||
# auto_tag_suffix: linux-arm
|
|
||||||
# dockerfile: Dockerfile.arm
|
|
||||||
# when:
|
|
||||||
# event: [ push, tag ]
|
|
||||||
|
|
||||||
manifests:
|
platform:
|
||||||
image: plugins/manifest:1
|
os: linux
|
||||||
pull: true
|
arch: arm64
|
||||||
secrets: [ docker_username, docker_password ]
|
|
||||||
spec: manifest.tmpl
|
steps:
|
||||||
|
- name: build-push
|
||||||
|
pull: always
|
||||||
|
image: golang:1.11
|
||||||
|
commands:
|
||||||
|
- "go build -v -ldflags \"-X main.build=${DRONE_BUILD_NUMBER}\" -a -o release/linux/arm64/drone-ansible"
|
||||||
|
environment:
|
||||||
|
CGO_ENABLED: 0
|
||||||
|
GO111MODULE: on
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
- pull_request
|
||||||
|
|
||||||
|
- name: build-tag
|
||||||
|
pull: always
|
||||||
|
image: golang:1.11
|
||||||
|
commands:
|
||||||
|
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}\" -a -o release/linux/arm64/drone-ansible"
|
||||||
|
environment:
|
||||||
|
CGO_ENABLED: 0
|
||||||
|
GO111MODULE: on
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- tag
|
||||||
|
|
||||||
|
- name: executable
|
||||||
|
pull: always
|
||||||
|
image: golang:1.11
|
||||||
|
commands:
|
||||||
|
- ./release/linux/arm64/drone-ansible --help
|
||||||
|
|
||||||
|
- name: dryrun
|
||||||
|
pull: always
|
||||||
|
image: plugins/docker:linux-arm64
|
||||||
|
settings:
|
||||||
|
dockerfile: docker/Dockerfile.linux.arm64
|
||||||
|
dry_run: true
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
repo: plugins/ansible
|
||||||
|
tags: linux-arm64
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- pull_request
|
||||||
|
|
||||||
|
- name: publish
|
||||||
|
pull: always
|
||||||
|
image: plugins/docker:linux-arm64
|
||||||
|
settings:
|
||||||
auto_tag: true
|
auto_tag: true
|
||||||
ignore_missing: true
|
auto_tag_suffix: linux-arm64
|
||||||
|
dockerfile: docker/Dockerfile.linux.arm64
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
repo: plugins/ansible
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
when:
|
when:
|
||||||
event: [ push, tag ]
|
event:
|
||||||
|
- push
|
||||||
|
- tag
|
||||||
|
|
||||||
microbadger:
|
trigger:
|
||||||
image: plugins/webhook:1
|
branch:
|
||||||
pull: true
|
- master
|
||||||
secrets: [ webhook_url ]
|
|
||||||
|
depends_on:
|
||||||
|
- testing
|
||||||
|
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
name: linux-arm
|
||||||
|
|
||||||
|
platform:
|
||||||
|
os: linux
|
||||||
|
arch: arm
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: build-push
|
||||||
|
pull: always
|
||||||
|
image: golang:1.11
|
||||||
|
commands:
|
||||||
|
- "go build -v -ldflags \"-X main.build=${DRONE_BUILD_NUMBER}\" -a -o release/linux/arm/drone-ansible"
|
||||||
|
environment:
|
||||||
|
CGO_ENABLED: 0
|
||||||
|
GO111MODULE: on
|
||||||
when:
|
when:
|
||||||
status: [ success ]
|
event:
|
||||||
|
- push
|
||||||
|
- pull_request
|
||||||
|
|
||||||
|
- name: build-tag
|
||||||
|
pull: always
|
||||||
|
image: golang:1.11
|
||||||
|
commands:
|
||||||
|
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}\" -a -o release/linux/arm/drone-ansible"
|
||||||
|
environment:
|
||||||
|
CGO_ENABLED: 0
|
||||||
|
GO111MODULE: on
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- tag
|
||||||
|
|
||||||
|
- name: executable
|
||||||
|
pull: always
|
||||||
|
image: golang:1.11
|
||||||
|
commands:
|
||||||
|
- ./release/linux/arm/drone-ansible --help
|
||||||
|
|
||||||
|
- name: dryrun
|
||||||
|
pull: always
|
||||||
|
image: plugins/docker:linux-arm
|
||||||
|
settings:
|
||||||
|
dockerfile: docker/Dockerfile.linux.arm
|
||||||
|
dry_run: true
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
repo: plugins/ansible
|
||||||
|
tags: linux-arm
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- pull_request
|
||||||
|
|
||||||
|
- name: publish
|
||||||
|
pull: always
|
||||||
|
image: plugins/docker:linux-arm
|
||||||
|
settings:
|
||||||
|
auto_tag: true
|
||||||
|
auto_tag_suffix: linux-arm
|
||||||
|
dockerfile: docker/Dockerfile.linux.arm
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
repo: plugins/ansible
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
- tag
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
branch:
|
||||||
|
- master
|
||||||
|
|
||||||
|
depends_on:
|
||||||
|
- testing
|
||||||
|
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
name: notifications
|
||||||
|
|
||||||
|
platform:
|
||||||
|
os: linux
|
||||||
|
arch: amd64
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: manifest
|
||||||
|
pull: always
|
||||||
|
image: plugins/manifest:1
|
||||||
|
settings:
|
||||||
|
ignore_missing: true
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
spec: docker/manifest.tmpl
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
|
||||||
|
- name: microbadger
|
||||||
|
pull: always
|
||||||
|
image: plugins/webhook:1
|
||||||
|
settings:
|
||||||
|
url:
|
||||||
|
from_secret: microbadger_url
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
branch:
|
||||||
|
- master
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
- tag
|
||||||
|
|
||||||
|
depends_on:
|
||||||
|
- linux-amd64
|
||||||
|
- linux-arm64
|
||||||
|
- linux-arm
|
||||||
|
|
||||||
|
...
|
||||||
|
9
.github/issue_template.md
vendored
9
.github/issue_template.md
vendored
@ -0,0 +1,9 @@
|
|||||||
|
<!-- PLEASE READ BEFORE DELETING
|
||||||
|
|
||||||
|
Bugs or Issues? Due to the high number of false positive issues we receive,
|
||||||
|
please do not create a GitHub issue until you have discussed and verified
|
||||||
|
with community support at:
|
||||||
|
|
||||||
|
https://discourse.drone.io/
|
||||||
|
|
||||||
|
-->
|
75
.github/settings.yml
vendored
Normal file
75
.github/settings.yml
vendored
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
repository:
|
||||||
|
name: drone-ansible
|
||||||
|
description: Drone plugin to provision via Ansible
|
||||||
|
homepage: http://plugins.drone.io/drone-plugins/drone-ansible
|
||||||
|
topics: drone, drone-plugin
|
||||||
|
|
||||||
|
private: false
|
||||||
|
has_issues: true
|
||||||
|
has_wiki: false
|
||||||
|
has_downloads: false
|
||||||
|
|
||||||
|
default_branch: master
|
||||||
|
|
||||||
|
allow_squash_merge: true
|
||||||
|
allow_merge_commit: true
|
||||||
|
allow_rebase_merge: true
|
||||||
|
|
||||||
|
labels:
|
||||||
|
- name: bug
|
||||||
|
color: d73a4a
|
||||||
|
description: Something isn't working
|
||||||
|
- name: duplicate
|
||||||
|
color: cfd3d7
|
||||||
|
description: This issue or pull request already exists
|
||||||
|
- name: enhancement
|
||||||
|
color: a2eeef
|
||||||
|
description: New feature or request
|
||||||
|
- name: good first issue
|
||||||
|
color: 7057ff
|
||||||
|
description: Good for newcomers
|
||||||
|
- name: help wanted
|
||||||
|
color: 008672
|
||||||
|
description: Extra attention is needed
|
||||||
|
- name: invalid
|
||||||
|
color: e4e669
|
||||||
|
description: This doesn't seem right
|
||||||
|
- name: question
|
||||||
|
color: d876e3
|
||||||
|
description: Further information is requested
|
||||||
|
- name: renovate
|
||||||
|
color: e99695
|
||||||
|
description: Automated action from Renovate
|
||||||
|
- name: wontfix
|
||||||
|
color: ffffff
|
||||||
|
description: This will not be worked on
|
||||||
|
|
||||||
|
teams:
|
||||||
|
- name: Admins
|
||||||
|
permission: admin
|
||||||
|
- name: Captain
|
||||||
|
permission: admin
|
||||||
|
- name: Maintainers
|
||||||
|
permission: push
|
||||||
|
|
||||||
|
branches:
|
||||||
|
- name: master
|
||||||
|
protection:
|
||||||
|
required_pull_request_reviews:
|
||||||
|
required_approving_review_count: 1
|
||||||
|
dismiss_stale_reviews: false
|
||||||
|
require_code_owner_reviews: false
|
||||||
|
dismissal_restrictions:
|
||||||
|
teams:
|
||||||
|
- Admins
|
||||||
|
- Captain
|
||||||
|
required_status_checks:
|
||||||
|
strict: true
|
||||||
|
contexts:
|
||||||
|
- continuous-integration/drone/pr
|
||||||
|
enforce_admins: false
|
||||||
|
restrictions:
|
||||||
|
users: []
|
||||||
|
teams:
|
||||||
|
- Admins
|
||||||
|
- Captain
|
@ -1,12 +0,0 @@
|
|||||||
FROM plugins/base:i386
|
|
||||||
|
|
||||||
LABEL maintainer="Drone.IO Community <drone-dev@googlegroups.com>" \
|
|
||||||
org.label-schema.name="Drone Ansible" \
|
|
||||||
org.label-schema.vendor="Drone.IO Community" \
|
|
||||||
org.label-schema.schema-version="1.0"
|
|
||||||
|
|
||||||
RUN apk add --no-cache bash git curl rysnc openssh-client ansible py-pip && \
|
|
||||||
pip install -U pip
|
|
||||||
|
|
||||||
ADD release/linux/i386/drone-ansible /bin/
|
|
||||||
ENTRYPOINT ["/bin/drone-ansible"]
|
|
21
README.md
21
README.md
@ -1,11 +1,12 @@
|
|||||||
# drone-ansible
|
# drone-ansible
|
||||||
|
|
||||||
[![Build Status](http://beta.drone.io/api/badges/drone-plugins/drone-ansible/status.svg)](http://beta.drone.io/drone-plugins/drone-ansible)
|
[![Build Status](http://cloud.drone.io/api/badges/drone-plugins/drone-ansible/status.svg)](http://cloud.drone.io/drone-plugins/drone-ansible)
|
||||||
[![Join the discussion at https://www.reddit.com/r/droneci/](https://img.shields.io/badge/reddit-forum-orange.svg)](https://www.reddit.com/r/droneci/)
|
[![Gitter chat](https://badges.gitter.im/drone/drone.png)](https://gitter.im/drone/drone)
|
||||||
|
[![Join the discussion at https://discourse.drone.io](https://img.shields.io/badge/discourse-forum-orange.svg)](https://discourse.drone.io)
|
||||||
[![Drone questions at https://stackoverflow.com](https://img.shields.io/badge/drone-stackoverflow-orange.svg)](https://stackoverflow.com/questions/tagged/drone.io)
|
[![Drone questions at https://stackoverflow.com](https://img.shields.io/badge/drone-stackoverflow-orange.svg)](https://stackoverflow.com/questions/tagged/drone.io)
|
||||||
|
[![](https://images.microbadger.com/badges/image/plugins/ansible.svg)](https://microbadger.com/images/plugins/ansible "Get your own image badge on microbadger.com")
|
||||||
[![Go Doc](https://godoc.org/github.com/drone-plugins/drone-ansible?status.svg)](http://godoc.org/github.com/drone-plugins/drone-ansible)
|
[![Go Doc](https://godoc.org/github.com/drone-plugins/drone-ansible?status.svg)](http://godoc.org/github.com/drone-plugins/drone-ansible)
|
||||||
[![Go Report](https://goreportcard.com/badge/github.com/drone-plugins/drone-ansible)](https://goreportcard.com/report/github.com/drone-plugins/drone-ansible)
|
[![Go Report](https://goreportcard.com/badge/github.com/drone-plugins/drone-ansible)](https://goreportcard.com/report/github.com/drone-plugins/drone-ansible)
|
||||||
[![](https://images.microbadger.com/badges/image/plugins/ansible.svg)](https://microbadger.com/images/plugins/ansible "Get your own image badge on microbadger.com")
|
|
||||||
|
|
||||||
Drone plugin to provision infrastructure with [Ansible](https://www.ansible.com/). For the usage information and a listing of the available options please take a look at [the docs](http://plugins.drone.io/drone-plugins/drone-ansible/).
|
Drone plugin to provision infrastructure with [Ansible](https://www.ansible.com/). For the usage information and a listing of the available options please take a look at [the docs](http://plugins.drone.io/drone-plugins/drone-ansible/).
|
||||||
|
|
||||||
@ -14,7 +15,13 @@ Drone plugin to provision infrastructure with [Ansible](https://www.ansible.com/
|
|||||||
Build the binary with the following commands:
|
Build the binary with the following commands:
|
||||||
|
|
||||||
```
|
```
|
||||||
go build
|
export GOOS=linux
|
||||||
|
export GOARCH=amd64
|
||||||
|
export CGO_ENABLED=0
|
||||||
|
export GO111MODULE=on
|
||||||
|
|
||||||
|
go test -cover ./...
|
||||||
|
go build -v -a -tags netgo -o release/linux/amd64/drone-ansible
|
||||||
```
|
```
|
||||||
|
|
||||||
## Docker
|
## Docker
|
||||||
@ -22,8 +29,10 @@ go build
|
|||||||
Build the Docker image with the following commands:
|
Build the Docker image with the following commands:
|
||||||
|
|
||||||
```
|
```
|
||||||
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -a -tags netgo -o release/linux/amd64/drone-ansible
|
docker build \
|
||||||
docker build --rm -t plugins/ansible .
|
--label org.label-schema.build-date=$(date -u +"%Y-%m-%dT%H:%M:%SZ") \
|
||||||
|
--label org.label-schema.vcs-ref=$(git rev-parse --short HEAD) \
|
||||||
|
--file docker/Dockerfile.linux.amd64 --tag plugins/ansible .
|
||||||
```
|
```
|
||||||
|
|
||||||
### Usage
|
### Usage
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
FROM plugins/base:amd64
|
FROM plugins/base:linux-amd64
|
||||||
|
|
||||||
LABEL maintainer="Drone.IO Community <drone-dev@googlegroups.com>" \
|
LABEL maintainer="Drone.IO Community <drone-dev@googlegroups.com>" \
|
||||||
org.label-schema.name="Drone Ansible" \
|
org.label-schema.name="Drone Ansible" \
|
||||||
@ -6,7 +6,8 @@ LABEL maintainer="Drone.IO Community <drone-dev@googlegroups.com>" \
|
|||||||
org.label-schema.schema-version="1.0"
|
org.label-schema.schema-version="1.0"
|
||||||
|
|
||||||
RUN apk add --no-cache bash git curl rsync openssh-client py-pip py-requests python2-dev libffi-dev libressl-dev build-base && \
|
RUN apk add --no-cache bash git curl rsync openssh-client py-pip py-requests python2-dev libffi-dev libressl-dev build-base && \
|
||||||
pip install -U pip ansible==2.6.3 && \
|
pip install -U pip && \
|
||||||
|
pip install ansible==2.7.6 && \
|
||||||
apk del python2-dev libffi-dev libressl-dev build-base
|
apk del python2-dev libffi-dev libressl-dev build-base
|
||||||
|
|
||||||
ADD release/linux/amd64/drone-ansible /bin/
|
ADD release/linux/amd64/drone-ansible /bin/
|
@ -1,12 +1,14 @@
|
|||||||
FROM plugins/base:arm
|
FROM plugins/base:linux-arm
|
||||||
|
|
||||||
LABEL maintainer="Drone.IO Community <drone-dev@googlegroups.com>" \
|
LABEL maintainer="Drone.IO Community <drone-dev@googlegroups.com>" \
|
||||||
org.label-schema.name="Drone Ansible" \
|
org.label-schema.name="Drone Ansible" \
|
||||||
org.label-schema.vendor="Drone.IO Community" \
|
org.label-schema.vendor="Drone.IO Community" \
|
||||||
org.label-schema.schema-version="1.0"
|
org.label-schema.schema-version="1.0"
|
||||||
|
|
||||||
RUN apk add --no-cache bash git curl rsync openssh-client ansible py-pip && \
|
RUN apk add --no-cache bash git curl rsync openssh-client py-pip py-requests python2-dev libffi-dev libressl-dev build-base && \
|
||||||
pip install -U pip
|
pip install -U pip && \
|
||||||
|
pip install ansible==2.7.6 && \
|
||||||
|
apk del python2-dev libffi-dev libressl-dev build-base
|
||||||
|
|
||||||
ADD release/linux/arm/drone-ansible /bin/
|
ADD release/linux/arm/drone-ansible /bin/
|
||||||
ENTRYPOINT ["/bin/drone-ansible"]
|
ENTRYPOINT ["/bin/drone-ansible"]
|
@ -1,12 +1,14 @@
|
|||||||
FROM plugins/base:arm64
|
FROM plugins/base:linux-arm64
|
||||||
|
|
||||||
LABEL maintainer="Drone.IO Community <drone-dev@googlegroups.com>" \
|
LABEL maintainer="Drone.IO Community <drone-dev@googlegroups.com>" \
|
||||||
org.label-schema.name="Drone Ansible" \
|
org.label-schema.name="Drone Ansible" \
|
||||||
org.label-schema.vendor="Drone.IO Community" \
|
org.label-schema.vendor="Drone.IO Community" \
|
||||||
org.label-schema.schema-version="1.0"
|
org.label-schema.schema-version="1.0"
|
||||||
|
|
||||||
RUN apk add --no-cache bash git curl rsync openssh-client ansible py-pip && \
|
RUN apk add --no-cache bash git curl rsync openssh-client py-pip py-requests python2-dev libffi-dev libressl-dev build-base && \
|
||||||
pip install -U pip
|
pip install -U pip && \
|
||||||
|
pip install ansible==2.7.6 && \
|
||||||
|
apk del python2-dev libffi-dev libressl-dev build-base
|
||||||
|
|
||||||
ADD release/linux/arm64/drone-ansible /bin/
|
ADD release/linux/arm64/drone-ansible /bin/
|
||||||
ENTRYPOINT ["/bin/drone-ansible"]
|
ENTRYPOINT ["/bin/drone-ansible"]
|
@ -1,13 +1,11 @@
|
|||||||
# escape=`
|
# escape=`
|
||||||
FROM microsoft/nanoserver:10.0.14393.1593
|
FROM plugins/base:windows-amd64
|
||||||
|
|
||||||
LABEL maintainer="Drone.IO Community <drone-dev@googlegroups.com>" `
|
LABEL maintainer="Drone.IO Community <drone-dev@googlegroups.com>" `
|
||||||
org.label-schema.name="Drone Ansible" `
|
org.label-schema.name="Drone Ansible" `
|
||||||
org.label-schema.vendor="Drone.IO Community" `
|
org.label-schema.vendor="Drone.IO Community" `
|
||||||
org.label-schema.schema-version="1.0"
|
org.label-schema.schema-version="1.0"
|
||||||
|
|
||||||
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
|
|
||||||
|
|
||||||
# TODO: install required tools
|
# TODO: install required tools
|
||||||
|
|
||||||
ADD release\drone-ansible.exe c:\drone-ansible.exe
|
ADD release\drone-ansible.exe c:\drone-ansible.exe
|
@ -11,23 +11,21 @@ manifests:
|
|||||||
platform:
|
platform:
|
||||||
architecture: amd64
|
architecture: amd64
|
||||||
os: linux
|
os: linux
|
||||||
-
|
|
||||||
image: plugins/ansible:{{#if build.tag}}{{trimPrefix build.tag "v"}}-{{/if}}linux-i386
|
|
||||||
platform:
|
|
||||||
architecture: 386
|
|
||||||
os: linux
|
|
||||||
-
|
-
|
||||||
image: plugins/ansible:{{#if build.tag}}{{trimPrefix build.tag "v"}}-{{/if}}linux-arm64
|
image: plugins/ansible:{{#if build.tag}}{{trimPrefix build.tag "v"}}-{{/if}}linux-arm64
|
||||||
platform:
|
platform:
|
||||||
architecture: arm64
|
architecture: arm64
|
||||||
os: linux
|
os: linux
|
||||||
|
variant: v8
|
||||||
-
|
-
|
||||||
image: plugins/ansible:{{#if build.tag}}{{trimPrefix build.tag "v"}}-{{/if}}linux-arm
|
image: plugins/ansible:{{#if build.tag}}{{trimPrefix build.tag "v"}}-{{/if}}linux-arm
|
||||||
platform:
|
platform:
|
||||||
architecture: arm
|
architecture: arm
|
||||||
os: linux
|
os: linux
|
||||||
|
variant: v7
|
||||||
-
|
-
|
||||||
image: plugins/ansible:{{#if build.tag}}{{trimPrefix build.tag "v"}}-{{/if}}windows-amd64
|
image: plugins/ansible:{{#if build.tag}}{{trimPrefix build.tag "v"}}-{{/if}}windows-amd64
|
||||||
platform:
|
platform:
|
||||||
architecture: amd64
|
architecture: amd64
|
||||||
os: windows
|
os: windows
|
||||||
|
variant: 1809
|
Loading…
Reference in New Issue
Block a user