Skip to content
Weik.ioDocs
2026.2
Try Weik.io

To production

Weik.io 2026.2

Devtest and production give the same remote names different values, so weikio promote moves the tested version to production without a rebuild. Product page · Video

Watch: To production, 3:59

The video promotes the transfer to production, where its two ends point at different systems.

On this page

The transfer document says remote: supplier-ftp, not a host, and that is what makes promotion work. The name resolves per environment: devtest’s value points at a test system, production’s at the supplier’s real server, and the version that runs in both is the same.

Two values of the same remote#

The default value of supplier-ftp is the supplier’s server. Devtest gets a file of its own, which here points at a local folder on the devtest agent, so a test run moves files you put there yourself:

finance/variables/supplier-ftp.yaml
apiVersion: weik.io/v1
kind: variable
metadata: { name: supplier-ftp, project: finance }
spec:
  value: |
    type = ftp
    host = ftp.supplier.example
    user = weikio
    pass = {{supplier-ftp-password}}
finance/devtest/variables/supplier-ftp.yaml
apiVersion: weik.io/v1
kind: variable
metadata: { name: supplier-ftp, project: finance, environment: devtest }
spec:
  value: |
    type = local

With type = local, the transfer’s path /outgoing is a folder on the agent’s host. Because the variable has the whole remote definition and not only an address, the two environments don’t even need the same kind of system. A supplier’s test FTP server for devtest is one more file with a different host.

Promote#

Once a run on devtest moved what it should, promote the version:

Terminal
$ weikio promote finance/supplier-invoices --from devtest --to production

Nothing is rebuilt, because the host was never in the version. Production’s deployment gets exactly the version devtest ran. Check what it gets before its first run:

Terminal
$ weikio get variables --env production --resolved --integration supplier-invoices

The list has each value the transfer gets in production and where it comes from. The secrets show as ********, and a deploy with a secret missing in production fails before anything starts, with the command that sets it.

Change the server later#

When the supplier moves its server, edit the one variable file and apply it. The transfer gets the new value at its next start, and weikio restart gives it the value now:

Terminal
$ weikio apply -f ./finance/variables/supplier-ftp.yaml
$ weikio restart finance/supplier-invoices --env production

A password the remote gets through a placeholder works the same way with weikio secret set, which lists the deployments that use it and restarts them when you add --restart.

Through Git#

In a repository, promotion is a pull request that changes one line, the version in finance/production/deployments/supplier-invoices.yaml. The reviewers see exactly what will run, and the production workflow applies it after their approval. Keep integrations in Git has the workflow files.