-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcicd.sh
68 lines (56 loc) · 1.98 KB
/
cicd.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#!/bin/bash
<notes
this is to build and run containers. push included.
usage
cicd.sh
notes
# build on plaintexthell
export DOCKER_HOST=192.168.0.9
docker build -t dolankirza/public:ramaris-blockchain-0.1.25 .
docker push dolankirza/public:ramaris-blockchain-0.1.26
>>comment
set -ex
PARENT_DIR=$(basename "${PWD%/*}")
CURRENT_DIR="${PWD##*/}"
IMAGE_NAME="$PARENT_DIR/$CURRENT_DIR"
TAG="${1}"
REGISTRY="hub.docker.com"
docker build -t ${REGISTRY}/${IMAGE_NAME}:${TAG} .
docker tag ${REGISTRY}/${IMAGE_NAME}:${TAG} ${REGISTRY}/${IMAGE_NAME}:latest
docker push ${REGISTRY}/${IMAGE_NAME}
docker tag ${REGISTRY}/${IMAGE_NAME}:latest ${REGISTRY}/${IMAGE_NAME}:${TAG}
docker push ${REGISTRY}/${IMAGE_NAME}
Param(
[switch]$Build,
[switch]$Run,
[switch]$Push,
[string]$DockerHubUserName = "dolankirza",
[string]$DockerHubRepo = "public",
[string]$ProductName = "ramaris",
[ValidateSet("ui", "blockchain", "database")]
[Parameter(Mandatory = $true)]
[string]$Container,
[Parameter(Mandatory = $true)]
[string]$Version
)
If ($Build) {
If ($Container -eq "ui") {
docker build -t "$($DockerHubUserName)/$($DockerHubRepo):$($ProductName)-ui-$Version" .
# docker-compose --file docker-compose.yml up -d
}
If ($Container -eq "blockchain") {
# switch to sub folder so context in Dockerfile still is correct
Set-Location .\src\blockchain
docker build -t "$($DockerHubUserName)/$($DockerHubRepo):$($ProductName)-blockchain-$Version" .
# switch back
Set-Location $PSScriptRoot
# docker-compose --file docker-compose.yml up -d
}
}
ElseIf ($Run) {
docker run -it -d -p3000:3000 --name "$($ProductName)-$($Container)" "$($DockerHubUserName)/$($DockerHubRepo):$($ProductName)-ui-$Version"
}
ElseIf ($Push) {
docker push "$($DockerHubUserName)/$($DockerHubRepo):$($ProductName)-$($Container)-$Version"
}
comment