akamai-jekyll-netstorage-action

akamai-jekyll-netstorage-action

Akamai CI action for Jekyll and netstorage

Akamai logo

GitHub Action to build and deploy Jekyll bundle to Akamai Netstorage

GitHub license

Deploy Jekyll bundle to Akamai Netstorage

This action allows you to build your Jekyll static site and deploy it to Akamai NetStorage.

Jekyll is a simple, blog-aware, static site generator for personal, project, or organization sites.

Akamai NetStorage is a holistic solution for maintaining large collections of on-demand digital content–including electronic images, streaming media files, software, documents, and other digital objects–while also offering performance compatible with today’s online delivery needs and customers’ expectations of instant access.

Usage

All sensitive variables should be set as encrypted secrets in the action's configuration.

Authentication

You need to declare a AKAMAI_PRIVATEKEY secret in your repository containing the following structure :

-----BEGIN RSA PRIVATE KEY-----
xxxx
-----END RSA PRIVATE KEY-----

To setup a key and attach it to your netstorage account, follow this Netstorage Overview.

NOTE: OPENSSH format (key begins with -----BEGIN OPENSSH PRIVATE KEY-----) may not work. Please use PEM format (begins with -----BEGIN RSA PRIVATE KEY-----) instead. Use the following to convert your key inline to PEM format ssh-keygen -p -m PEM -f ~/.ssh/id_rsa.

Inputs

uploadDirectory

Required uploadDirectory: '1234' Upload Directory in AkamaiNetStorage

path

Required path: '_site' artifact path

domainName

Required domainName: 'example1' Upload domain name in Akamai Netstorage

workflow.yml Example

Place in a .yml file such as this one in your .github/workflows folder. Refer to the documentation on workflow YAML syntax here.

steps:
    - uses: actions/checkout@v1
    - name: Build and Deploy
      uses: jdmevo123/[email protected]
      env:
        AKAMAI_PRIVATEKEY: ${{ secrets.AKAMAI_PRIVATEKEY }}
      with:
        uploadDirectory: '12345'
        path: '_site'
        domainName: 'example1' 

Upload directory and domain name can be found in netstorage. Please follow this guide.

License

This project is distributed under the MIT license.