To production
Weik.io 2026.2Devtest 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.
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:
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}}apiVersion: weik.io/v1
kind: variable
metadata: { name: supplier-ftp, project: finance, environment: devtest }
spec:
value: |
type = localWith 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:
$ weikio promote finance/supplier-invoices --from devtest --to productionNothing 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:
$ weikio get variables --env production --resolved --integration supplier-invoicesThe 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:
$ weikio apply -f ./finance/variables/supplier-ftp.yaml
$ weikio restart finance/supplier-invoices --env productionA 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.