- [Gonzalo Herreros] Hi, this is Gonzalo
from the AWS Glue team.
And today, I wanna show you a really powerful feature
that has just been added to the Glue Studio.
Previously, you will typically develop your job
using the AWS console, especially for visual jobs.
And then once you're happy and have tested
the changes to your dev account,
you will need some external process to promote
to other environments or integrate with a pipeline
that releases even to production.
In the next few minutes,
I will show you how Glue Studio integrates with Git
in order to enhance development
and to streamline the deployment process.
I will demo both system supported on release.
First, AWS CodeCommit, and then GitHub.
We are now in Glue Studio working on a job.
Whether it's a Visual or we are writing the Script,
that will be saved to S3 as usual.
Now you have this new tab Version Control
where you can link the job with a code repository.
This in term can be used to initiate
an automatic CI/CD pipeline that deploys those changes
to other accounts.
In terms of Version Control,
Git is the industry standard for our source code management.
So by pushing your work there,
we leverage its capabilities to manage our job history
including the Visual design, the Script,
and any job configuration we have.
At release time, the repository choices
are AWS Code Commit, and Github.
With other popular repositories to be added later on.
In the case of AWS Code Commit, it is quite easy to setup.
All we have to do is select one of the repositories
available in the account.
We need the branch already created, for instance, main.
And finally, we can enter a path under the repository
where we store the files related to this job.
And it can be also a sub-folder.
Now that we have configured our repository information,
we can use the Action to push the changes
that we have of this job, up to the repository
so it gets version there.
It asks us to confirm that we are uploading
to the right repository, branch and control system.
If we are happy with the changes, we just confirm.
And the changes will get uploaded.
We are now in Code Commit.
And we can see that for the repository and branch selected,
we have under the path specified
the files that represent the job that we have saved.
In this case, there's only a JSON because it's Visual job.
If it was a Script job,
we'll have the JSON with the configuration
and the separate script that contains the code.
Now the other action we have available
is Pull from Repository.
What this does is, it gets the latest version
from the selected branch
and replaces the local job here with that version.
That's something that we want to do
because we want to discard the local changes,
or somebody make changes to the repository directly,
or just because we want to change the branch.
In the case of GitHub, the Actions work the same,
but the configuration is slightly different.
In this case, we have to enter a personal access token
we generate at GitHub that will associate the token
with the account and the permissions.
We will see this later.
And you also have to enter repository owner.
This is the user or their organization in GitHub
that owns the repositories.
Once we have entered these two things,
we can list the repositories for that owner and that token.
And from them we will select the branch in similar way.
Okay, so we are now in GitHub to generate the token
we need for the integration.
We just have to get from the settings page
to the Developer settings.
Then Personal access tokens, Generate new token.
Enter a meaningful name that you can remember later.
Then select how long do you want this token to be valid for.
Once it's expired, you will have to set it again
in Glue Studio to be able to integrate.
And finally, you just need the read and write permission
for the package.
And it will select automatically the only ones it needs.
Generate the token,
and copy it over.
Back in Glue Studio,
I have entered the token I generated in GitHub.
Entered the repository owner.
And now I can list repositories and branches,
and pick the one that I want to use to save this work.
Once that's ready, I can Push and save my changes in Github.
Once I have pushed my changes into GitHub,
I can go and check under the repository
that I selected for the path I entered.
My file has been changed
with all the metadata and my visual job.
And now I can use all the features in GitHub
to check the history, maybe I want to rollback
and see the times, et cetera.
With this new feature, we can now streamline
the development and deployment of your Glue jobs.
Thank you for listening.