从AWS Lambda触发GitLab CI

时间:2020-08-18 19:02:13

标签: aws-lambda aws-api-gateway gitlab-ci gitlab-api

无论何时到达我的API网关,我都试图触发特定管道的构建。但是我觉得我做错了...

P.S。 :“ lambda-api”用于管理API网关路由,

const api = require('lambda-api')()
const https = require('https')
let PROJECT_ID = process.env.PROJECT_ID_CREATE
const JOB_ID = XXXXXXX
let PRIVATE_TOKEN = process.env.PRIVATE_TOKEN

api.post("/api-gitlab-launcher/create", async (req, res) => {
        const options = {
            hostname: 'gitlab.com',
            port: 443,
            path: `/api/v4/projects/${PROJECT_ID}/jobs/${JOB_ID}/play`,
            method: 'POST',
            headers: {
                'Content-Type': 'application/json',
                'PRIVATE_TOKEN': PRIVATE_TOKEN
            }
        }
        const gitlabRequest = https.request(options, (res) => {
                console.log(`statusCode: ${res.statusCode}`)

                res.on('data', (d) => {
                        process.stdout.write(d)
                    }
                )
            }
        )
        gitlabRequest.on('error', (error) => {
                console.error(error)
            }
        )
        gitlabRequest.end()

        return {
            "body": req.body.ami_id,
            "ip_address": req.ip
        }
    }
)


exports.handler = async (event, context) => {
    return await api.run(event, context)
}

有人有这样做的经验吗?

0 个答案:

没有答案