capistrano-gitlab-artifact 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Makefile +16 -0
- data/README.md +30 -0
- data/capistrano-gitlab-artifact.gemspec +18 -0
- data/lib/capistrano/scm/gitlab-artifact.rb +25 -0
- data/lib/capistrano/scm/tasks/gitlab_artifact.rake +15 -0
- metadata +62 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: e416e4624c339a405f6f5b12beb2c1ab93af378ade4ef89f1a00eade3185459f
|
4
|
+
data.tar.gz: b47965c0220c989dfe5df3162ed4785e8fe2768981b25f8d75760d6a5aa64379
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 813f9af9f4caf2faa38835ddd68b760b3457c236d28a5932838a84856d8041a76d76b873d838ad6ecf2c79df56fbc70357850be097951077f307ba6087fffdfe
|
7
|
+
data.tar.gz: 9fc7ec3229769b645b1de639886d5a20b9fd4b6ef51eaa7233f30ab1d182472c63576b959c1c26b76ba5f12bf5d6767f77ec5030173c4c5e23a76a07f8217671
|
data/Makefile
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
ruby = docker run --rm -it -v `pwd`:/usr/src/app -w /usr/src/app ruby:2.4
|
2
|
+
|
3
|
+
.DEFAULT_GOAL := help
|
4
|
+
.PHONY: help go
|
5
|
+
|
6
|
+
help:
|
7
|
+
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
|
8
|
+
|
9
|
+
go: ## Jump to ruby container
|
10
|
+
$(ruby) /bin/bash
|
11
|
+
|
12
|
+
build: ## Build gem file
|
13
|
+
$(ruby) gem build capistrano-gitlab-artifact.gemspec
|
14
|
+
|
15
|
+
push: ## Push gem file into rubygems.org
|
16
|
+
$(ruby) gem push capistrano-gitlab-artifact-0.0.2.gem
|
data/README.md
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
# Capistrano::GitlabArtifact
|
2
|
+
|
3
|
+
Gitlab Artifact is a [Custom SCM Plugin](http://capistranorb.com/documentation/advanced-features/custom-scm/) for Capistrano v3
|
4
|
+
|
5
|
+
|
6
|
+
## Installation
|
7
|
+
|
8
|
+
```
|
9
|
+
# Gemfile
|
10
|
+
gem 'capistrano-gitlab-artifact', '0.0.2'
|
11
|
+
```
|
12
|
+
|
13
|
+
## Usage
|
14
|
+
|
15
|
+
Require capistrano-gitlab-artifact in your Capfile
|
16
|
+
|
17
|
+
```
|
18
|
+
# Capfile
|
19
|
+
require "capistrano/scm/gitlab-artifact"
|
20
|
+
install_plugin Capistrano::SCM::GitlabArtifact
|
21
|
+
```
|
22
|
+
|
23
|
+
|
24
|
+
### Settings
|
25
|
+
|
26
|
+
```ruby
|
27
|
+
# Custom "Gitlab Artifact" SCM configuration
|
28
|
+
set :gitlab_artifact_url, 'https://your.gitlab.com/your-namespace/your-repository/-/jobs/artifacts/gitlab-ci/download?job=build'
|
29
|
+
set :gitlab_artifact_private_token, 'your-private-token'
|
30
|
+
```
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
|
5
|
+
Gem::Specification.new do |gem|
|
6
|
+
gem.name = "capistrano-gitlab-artifact"
|
7
|
+
gem.version = '0.0.2'
|
8
|
+
gem.authors = ["Johann Brocail"]
|
9
|
+
gem.summary = %q{Capistrano Gitlab Artifact - Deploy artifact from Gitlab build}
|
10
|
+
gem.homepage = "http://github.com/L0rD59/capistrano-gitlab-artifact"
|
11
|
+
|
12
|
+
gem.files = `git ls-files`.split($/)
|
13
|
+
gem.require_paths = ["lib"]
|
14
|
+
|
15
|
+
gem.licenses = ['MIT']
|
16
|
+
|
17
|
+
gem.add_dependency 'capistrano', '~> 3.1'
|
18
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require "capistrano/scm/plugin"
|
2
|
+
|
3
|
+
class Capistrano::SCM::GitlabArtifact < Capistrano::SCM::Plugin
|
4
|
+
def set_defaults
|
5
|
+
set_if_empty :gitlab_artifact_url, ''
|
6
|
+
set_if_empty :gitlab_artifact_private_token, ''
|
7
|
+
end
|
8
|
+
|
9
|
+
def define_tasks
|
10
|
+
eval_rakefile File.expand_path("../tasks/gitlab_artifact.rake", __FILE__)
|
11
|
+
end
|
12
|
+
|
13
|
+
def register_hooks
|
14
|
+
after "deploy:new_release_path", "gitlab_artifact:create_release"
|
15
|
+
end
|
16
|
+
|
17
|
+
def create_release
|
18
|
+
on release_roles :all do
|
19
|
+
execute :mkdir, "-p", release_path
|
20
|
+
execute :wget, "-q -O #{repo_path}/artifact.zip --header=\"PRIVATE-TOKEN: #{fetch(:gitlab_artifact_private_token)}\" #{fetch(:gitlab_artifact_url)}"
|
21
|
+
execute :unzip, "-q #{repo_path}/artifact.zip -d #{fetch(:release_path)}/"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# This trick lets us access the Git plugin within `on` blocks.
|
2
|
+
gitlab_artifact_plugin = self
|
3
|
+
|
4
|
+
# The namespace can be whatever you want, but its best
|
5
|
+
# to choose a name that matches your plugin name.
|
6
|
+
namespace :gitlab_artifact do
|
7
|
+
|
8
|
+
desc "Create release"
|
9
|
+
task :create_release do
|
10
|
+
on release_roles :all do
|
11
|
+
gitlab_artifact_plugin.create_release
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
metadata
ADDED
@@ -0,0 +1,62 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: capistrano-gitlab-artifact
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Johann Brocail
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-12-05 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: capistrano
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '3.1'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '3.1'
|
27
|
+
description:
|
28
|
+
email:
|
29
|
+
executables: []
|
30
|
+
extensions: []
|
31
|
+
extra_rdoc_files: []
|
32
|
+
files:
|
33
|
+
- Makefile
|
34
|
+
- README.md
|
35
|
+
- capistrano-gitlab-artifact.gemspec
|
36
|
+
- lib/capistrano/scm/gitlab-artifact.rb
|
37
|
+
- lib/capistrano/scm/tasks/gitlab_artifact.rake
|
38
|
+
homepage: http://github.com/L0rD59/capistrano-gitlab-artifact
|
39
|
+
licenses:
|
40
|
+
- MIT
|
41
|
+
metadata: {}
|
42
|
+
post_install_message:
|
43
|
+
rdoc_options: []
|
44
|
+
require_paths:
|
45
|
+
- lib
|
46
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
47
|
+
requirements:
|
48
|
+
- - ">="
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: '0'
|
51
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
56
|
+
requirements: []
|
57
|
+
rubyforge_project:
|
58
|
+
rubygems_version: 2.7.3
|
59
|
+
signing_key:
|
60
|
+
specification_version: 4
|
61
|
+
summary: Capistrano Gitlab Artifact - Deploy artifact from Gitlab build
|
62
|
+
test_files: []
|