🤖 Integrating into CI/CD

In order to keep function code synchronized with what is deployed, we suggest updating function code directly from your source control system.

While it’s easy to start using Functions straight from web dashboard, it’s a good practice to keep the source in source control management (SCM), also known as version control systems such as:

Bitbucket pipelines

Bitbucket function example can be found here: https://bitbucket.org/rusenas/webhookrelay-function-example/src/master/.

Updates are done using Bitbucket pipelines and the official Webhook Relay pipe which deploys your code.

Setup

  1. Create a new function here https://my.webhookrelay.com/functions (or using relay CLI)

  2. Get your access token key & secret https://my.webhookrelay.com/tokens

  3. Configure Bitbucket repository settings with access token:

    • Go to “Repository settings”

    • Click on “Repository variables” (if pipelines are not enabled, enable them)

    • Add two environment variables RELAY_KEY (with value from the access token ‘key’) and RELAY_SECRET (with value from the access token ‘secret’)

4. Create bitbucket-pipelines.yml file in your repository root directory:

image: golang:1.12
pipelines:
default:
- step:
script:
- pipe: webhookrelay/webhookrelay-function-deploy:0.2.4
variables:
FUNCTION_NAME: 'name of your functions' # Replace with your function name
FUNCTION_FILE: 'function_file_name.lua' # Replace with your function filename
RELAY_KEY: $RELAY_KEY
RELAY_SECRET: $RELAY_SECRET

That’s it, you can now push your functions and get them updated:

bitbucket pipeline view