ui/lib/pipeline/addon/components/steps/step-build/component.js

44 lines
1.2 KiB
JavaScript

import Component from '@ember/component';
import layout from './template';
import { get } from '@ember/object';
import { alias } from '@ember/object/computed';
import Step from 'pipeline/mixins/step';
const DEFAULT_CONFIG = {
dockerfilePath: './Dockerfile',
buildContext: '.',
tag: '',
pushRemote: false,
registry: '',
};
export default Component.extend(Step, {
layout,
config: null,
field: 'publishImageConfig',
defaultConfig: DEFAULT_CONFIG,
registries: alias('projectDockerCredentials'),
validate() {
const intl = get(this, 'intl');
const errors = [];
const config = get(this, 'config.publishImageConfig');
if ( !config.tag || config.tag.trim() === '' ) {
errors.push(intl.t('newPipelineStep.stepType.build.errors.tag.required'));
}
if ( !config.dockerfilePath || config.dockerfilePath.trim() === '' ) {
errors.push(intl.t('newPipelineStep.stepType.build.errors.dockerfilePath.required'));
}
if ( config.pushRemote && ( !config.registry || config.registry.trim() === '' ) ) {
errors.push(intl.t('newPipelineStep.stepType.build.errors.registry.required'));
}
return errors;
},
});