Github Actions: Setting for CI server
In the past, When distributing the homepage was using CI called travis.
A few days ago, I modified the page and pushed it. But automatic distribution did not work, so i went to the travis homepage. There was a notice like the one below. All the projects were read-only, nothing could be done.
Since June 15th, 2021, the building on travis-ci.org is ceased.
Please use travis-ci.com from now on.
Travis CI - Test and Deploy Your Code with Confidence is in read-only mode.
The historical data can be downloaded to external file storage.
As an announcement, I am trying to move the project to travis.com.
However, while setting it up, it didn’t work properly.
So I decided to look for something else.
Github Action
What is Github Action?
Github Action is a tool that can automate software development workflow based on Github repository.
Simply put, it is a CI/CD tool directly provided by Github.
Workflow can directly create a desired workflow based on various events such as build, test, package,
release, and deploy that occur in the Github repository.
Workflow runs in Linux, macOS, and Windows environments hosted on Github called Runners.
And you can run these Runners directly in the environment hosted by the user (self-hosted runner).
Workflows shared by multiple people can be found in the Github marketplace, and you can create your own and share them.
⏳ How long can it be used?
Up to 20 workflows can be registered per repository.
And it can be executed for up to 6 hours for each stage called Job that exists in the workflow, and is automatically stopped when it exceeds.
And according to the Github account plan, the number of jobs that can be executed simultaneously throughout the entire Git repository is determined. If you call Github API within a job, you can do it up to 1,000 times per hour.
💵 How much is the usage fee?
Public storage is free, and private storage is billed after the free usage granted to the account.
Based on the full private storage of the Github free account, 500MB of storage and running time of up to 2,000 minutes are provided per month.
If you want more information, please visit below links.
The official guide provides several basic templates. When using travis CI to build and push deployment, using Rakefile.
And then jekyll theme, so I took the Ruby template and tried to change it little by little.
At first, I just looked at it as it is in .travis.yml, but the github page repo push didn’t work perfectly.
I think token seems to be the problem.
nothing to commit, working tree clean
remote: Permission to
jjungs-lee/jjungs-lee.github.io.git denied to github-actions[bot].
fatal: unable to access 'https://github.com/jjungs-lee/jjungs-lee.github.io.git/'
: The requested URL returned error: 403
rake aborted!
I tried creating a new token, and setting the environment. However, the permission denial continued, and it took about 2 days to trouble shooting.
After searching, I finally found the answer from the link below.
Automating push to public repo
There were various things such as setting http or something else.
but i set the token and various in actions/checkout@v2 and followed the example.
Checkout multiple repos (nested)
After that, I checked that it was working properly and updated the CI server with it.
It was a long and hard task, but i’m glad i was able to learn something new. haha 😊