-
Notifications
You must be signed in to change notification settings - Fork 1
/
dockerbuild.cake
40 lines (35 loc) · 1.21 KB
/
dockerbuild.cake
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
#addin "nuget:?package=Cake.Docker&version=1.2.3"
using System;
using System.IO;
using Cake.Core;
using Cake.Docker;
//////////////////////////////////////////////////////////////////////
// ARGUMENTS
//////////////////////////////////////////////////////////////////////
var target = Argument("target", "Default");
var imageName = "bn-screenshare-api:latest";
var context = "./";
//////////////////////////////////////////////////////////////////////
// TASKS
//////////////////////////////////////////////////////////////////////
Task("Build-Docker-Image")
.Does((cakeContext) =>
{
try {
// Build the Docker image
cakeContext.Information("Starting Docker build...");
cakeContext.DockerBuild(
new DockerImageBuildSettings {
Rm = true,
NoCache = true,
Tag = new string[]{ imageName }
}, context);
cakeContext.Information("Docker build completed.");
} catch (Exception ex) {
cakeContext.Error("Error during Docker build: " + ex.Message);
throw;
}
});
Task("Default")
.IsDependentOn("Build-Docker-Image");
RunTarget(target);