Professional Documents
Culture Documents
Empacar Py
Empacar Py
Empacar Py
/usr/bin/env python3
atp = None
empacar = None
http = None
def console_url(buildId):
return "%s/empacar/build-console/%s" % (empacar, buildId)
def verification_url(buildId):
return "%s/empacapi/build/status/%s" % (empacar, buildId)
def init_endpoints(environment):
global empacar
empacar = endpoints[environment]['empacar']
global atp
atp = endpoints[environment]['atp']
def init_http_client(env):
global http
cacerts_file = '/etc/ssl/certs/ca-certificates.crt'
if env in ['team']:
cacerts_file = '/usr/local/utils/cgp-cert-%s.pem' % env
if env == 'local':
cacerts_file = '/usr/local/utils/cgp-cert-team.pem'
if response.status != 200:
sys.exit("Failure creating build task in empacar (reason: %s)." %
content.decode("utf-8"))
return content.decode("utf-8")
def parsed_args():
parser = argparse.ArgumentParser(description='Create (build) an artifact using
Empacar API, and publish it to Despegar verified nexus')
parser.add_argument('-u', metavar='USR', type=str, help='ATP3 client id',
required=True)
parser.add_argument('-p', metavar='PASS', type=str, help='ATP3 client secret',
required=True)
parser.add_argument('-r', metavar='PROJECT', type=str, help='Project name',
required=True)
parser.add_argument('-t', metavar='TAG', type=str, help='Tag name',
required=True)
parser.add_argument('-s', metavar='SUBMODULE', type=str, help='Project
submodule (not required)', default="")
parser.add_argument('-l', metavar='ENV', type=str, help='Cloudia environment
[dev, prod] where this script runs', choices=["local", "team", "dev", "prod",
"baprod"], default="dev")
parser.add_argument('--skip-scan', dest='skip-scan', action='store_true',
help='Do NOT scan for security vulnerabilities')
return vars(parser.parse_args())
if __name__ == "__main__":
args = parsed_args()
print(args)
user = args['u']
password = args['p']
projectName = args['r']
submodule = args['s']
tag = args['t']
environment = args['l']
init_endpoints(environment)
init_http_client(environment)
# ATP3 authentication
jwt = authenticate(user, password)
# Build
buildId = launch_build(jwt, projectName, submodule, tag, scanBugs)
print("Build task started in empacar. Check progress at %s" %
console_url(buildId))