MCPcopy Create free account
hub / github.com/SocketCluster/socketcluster / performDeployment

Function performDeployment

bin/actions/k8s.js:150–272  ·  view source on GitHub ↗
(
    dockerConfig,
    versionTag,
    username,
    password,
  )

Source from the content-addressed store, hash-verified

148 };
149
150 let performDeployment = function (
151 dockerConfig,
152 versionTag,
153 username,
154 password,
155 ) {
156 let dockerLoginCommand = `docker login -u "${username}" -p "${password}"`;
157
158 let fullVersionTag;
159 if (versionTag) {
160 fullVersionTag = `:${versionTag}`;
161 } else {
162 fullVersionTag = parseVersionTag(dockerConfig.imageName);
163 }
164 dockerConfig.imageName = setImageVersionTag(
165 dockerConfig.imageName,
166 fullVersionTag,
167 );
168 if (saveDockerAuthDetails) {
169 addAuthDetailsToSocketClusterK8s(
170 socketClusterK8sConfig,
171 username,
172 password,
173 );
174 }
175 try {
176 saveSocketClusterK8sConfigFile(socketClusterK8sConfig);
177 execSync(`docker build -t ${dockerConfig.imageName} .`, {
178 stdio: 'inherit',
179 });
180 execSync(`${dockerLoginCommand}; docker push ${dockerConfig.imageName}`, {
181 stdio: 'inherit',
182 });
183
184 if (tlsSecretName && tlsKeyPath && tlsCertPath) {
185 uploadTLSSecret(tlsSecretName, tlsKeyPath, tlsCertPath, warningMessage);
186 }
187
188 let kubernetesDirPath = appPath + '/kubernetes';
189
190 let kubeConfSCCWorker = getSCCWorkerDeploymentDefPath(kubernetesDirPath);
191 let kubeConfContentSCCWorker = fs.readFileSync(kubeConfSCCWorker, {
192 encoding: 'utf8',
193 });
194
195 let deploymentConfSCCWorker = YAML.parse(kubeConfContentSCCWorker);
196
197 let initContainersSCCWorker =
198 deploymentConfSCCWorker.spec.template.spec.initContainers;
199 initContainersSCCWorker.forEach((value, index) => {
200 if (value) {
201 if (value.name === 'app-src-container') {
202 initContainersSCCWorker[index].image = dockerConfig.imageName;
203 }
204 }
205 });
206
207 let formattedYAMLStringSCCWorker = sanitizeYAML(

Callers 2

pushToDockerImageRepoFunction · 0.85
k8sDeployAndDeployUpdateFunction · 0.85

Calls 10

parseVersionTagFunction · 0.85
setImageVersionTagFunction · 0.85
uploadTLSSecretFunction · 0.85
sanitizeYAMLFunction · 0.85
deploySuccessFunction · 0.85
failedToDeployFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…