阿里云效流水线API简单使用

本文涉及的产品
云效 DevOps 流水线,基础版人数 不受限
云效 DevOps 制品仓库,基础版人数 不受限
云效 DevOps 代码管理,基础版人数 不受限
简介: 阿里云效流水线API简单使用

API概览:https://help.aliyun.com/document_detail/460575.html?spm=a2c4g.460564.0.0.2ffe2e09elB6B5

API在线调试:https://next.api.aliyun.com/api/devops/2021-06-25/StartPipelineRun?sdkStyle=old

# -*- coding: utf-8 -*-
import sys
import json
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest
class AliyunPipeline(object):
    def __init__(self, region="cn-hangzhou"):
        self.region = region
        # 设置阿里云的AccessKeyID和AccessKeySecret
        self.AK = "xxxxx"
        self.AS = "xxxxxx"
        self.client = AcsClient(self.AK, self.AS, self.region)
        self.request = CommonRequest()
        self.request.set_accept_format('json')
        self.request.set_protocol_type('https')  # https | http
        self.request.set_domain('devops.cn-hangzhou.aliyuncs.com')
        self.request.set_version('2021-06-25')
        self.request.add_header('Content-Type', 'application/json')
        self.organization_id = "5f5ad8xxxxx" 
    def get_pipeline_name(self, pipeline_id):
        self.request.set_method('GET')
        uri_pattern = "/organization/{}/pipelines/{}".format(self.organization_id, pipeline_id)
        self.request.set_uri_pattern(uri_pattern)
        response = self.client.do_action_with_exception(self.request)
        response = json.loads(response)
        # print(response["pipeline"]["name"])
        return response["pipeline"]["name"]
    def pipeline_run(self, pipeline_id):
        self.request.set_method('POST')
        uri_pattern = "/organizations/{}/pipelines/{}/run".format(self.organization_id, pipeline_id)
        self.request.set_uri_pattern(uri_pattern)
        response = self.client.do_action_with_exception(self.request)
        response = json.loads(response)
        # print(response)
        return response.get("success")
    def get_pipeline_deploy_info(self, pipeline_id):
        pipe_name = self.get_pipeline_name(pipeline_id)
        deploy_state = self.pipeline_run(pipeline_id)
        if deploy_state:
            print("%s 流水线触发运行成功" % pipe_name)
        else:
            print("%s 流水线触发运行失败" % pipe_name)
def main():
    deploy_env = sys.argv[1]   #这边是通过传参获取对应项目相关应用环境,在通过写死的流水线ID进行发布,实际也可以通过流水线分组信息自动获取相关流水线ID
    prod_pipeline_id_list = []
    dev_pipeline_id_list = ["2369060", ] #写入流水线ID
    obj = AliyunPipeline()
    if deploy_env == "dev":
        pipeline_id_list = dev_pipeline_id_list
    elif deploy_env == "prod":
        pipeline_id_list = prod_pipeline_id_list
    else:
        pipeline_id_list = dev_pipeline_id_list
    for pipeline_id in pipeline_id_list:
        obj.get_pipeline_deploy_info(pipeline_id)
main()
相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
SVN版本控制系统
SVN是现在软件开发之中的主流软件版本控制工具,在工作之中利用SVN可以有效的解决多人开发的代码管理问题,本课程将为读者讲解SVN服务器的配置以及基于MyEclipse的SVN客户端插件的配置与使用,并且在讲解之中着重讲解了冲突的产生于解决。
相关文章
|
3月前
|
弹性计算 运维 Serverless
项目管理和持续集成系统搭建问题之云效流水线支持阿里云产品的企业用户如何解决
项目管理和持续集成系统搭建问题之云效流水线支持阿里云产品的企业用户如何解决
67 1
项目管理和持续集成系统搭建问题之云效流水线支持阿里云产品的企业用户如何解决
|
3月前
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用合集之如何限制在本地的构建主机创建的流水线的并发数
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
2月前
|
JSON API 数据格式
1api触发gitlab流水线
1api触发gitlab流水线
|
3月前
|
敏捷开发 缓存 5G
阿里云云效产品使用合集之流水线中的webhook是否可以设置为变量
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
3月前
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用合集之流水线构建出现问题,连接不到nuget,该如何处理
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
3月前
|
Java 应用服务中间件 测试技术
阿里云云效产品使用合集之云效流水线如何使用alb ingress的脚本
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
3月前
|
敏捷开发 测试技术 API
阿里云云效产品使用合集之调用API次数过多导致限流,该怎么办
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
3月前
|
敏捷开发 缓存 Java
阿里云云效产品使用合集之如何配置流水线里的npm构建
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
3月前
|
敏捷开发 缓存 前端开发
阿里云云效产品使用合集之前端打包时npm安装卡住一般是什么导致的
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
3月前
|
敏捷开发 弹性计算 持续交付
阿里云云效产品使用合集之同一个主机部署是否支持下载多个制品
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。