Meta tags:
Headings (most frequently used words):
php, buildmaster, applications, your, in, using, and, please, enable, javascript, configuring, to, build, managing, configuration, files, deploying, with, ci, cd, for, extension, advanced, automation, practices, composer, phpunit, this, article,
Text of the page (most frequently used words):
and (67), howto (66), #buildmaster (60), proget (58), the (54), packages (53), create (46), package (43), ensure (41), php (38), build (37), for (32), with (32), from (31), your (30), configuration (30), server (28), upgrading (27), files (25), file (24), installation (23), you (22), release (22), otter (22), application (21), what (21), using (20), api (20), windows (19), list (19), inedo (18), deploy (18), asset (18), repository (17), get (17), delete (17), set (16), private (16), powershell (16), nuget (16), are (15), license (15), docker (15), service (14), feed (14), feeds (14), deployment (13), upload (13), composer (12), applications (12), use (12), advanced (11), template (11), variables (11), import (11), azure (11), proxy (11), script (11), registry (11), python (11), otterscript (10), execute (10), can (10), source (10), code (10), linux (10), integration (10), site (10), reference (10), http (10), directory (10), app (10), project (10), phpunit (9), extension (9), universal (9), scripting (9), user (9), servers (9), legacy (9), scripts (9), download (9), builds (9), configuring (8), install (8), variable (8), configure (8), stop (8), artifacts (8), web (8), containers (8), pool (8), storage (8), update (8), issue (8), migrate (8), publish (8), this (7), tests (7), licenses (7), that (7), also (7), general (7), installing (7), operations (7), start (7), iis (7), creating (7), tasks (7), dotnet (7), management (7), access (7), git (7), templates (7), net (7), deploying (6), unit (6), manual (6), javascript (6), administration (6), environment (6), database (6), keys (6), folder (6), agent (6), getting (6), started (6), shell (6), collect (6), modules (6), drift (6), metadata (6), chocolatey (6), export (6), endpoint (6), managing (5), automatically (5), issues (5), before (5), running (5), third (5), party (5), add (5), these (5), dependencies (5), bin (5), values (5), continuous (5), other (5), sdk (5), versions (5), romp (5), credentials (5), overview (5), resource (5), blocks (5), troubleshooting (5), security (5), guide (5), promote (5), psensure (5), push (5), group (5), sca (5), connector (5), customizing (5), tracking (5), myinedo (4), support (4), practices (4), test (4), operation (4), which (4), pipeline (4), open (4), run (4), artifact (4), best (4), but (4), tools (4), there (4), more (4), such (4), extensions (4), path (4), default (4), etc (4), methods (4), development (4), assets (4), strings (4), extending (4), notes (4), cli (4), maintenance (4), network (4), restore (4), sign (4), directories (4), ldap (4), services (4), value (4), virtual (4), replace (4), zipfile (4), rpm (4), firewall (4), built (4), jsencode (4), restrictions (4), jobs (4), image (4), audit (4), groups (4), sbom (4), projects (4), rules (4), devops (4), migrating (4), importing (4), replication (4), terraform (4), pypi (4), visual (4), studio (4), rubygems (4), deployments (4), pipelines (4), automated (4), automation (3), see (3), plan (3), live (3), testing (3), capture (3), must (3), verify (3), could (3), find (3), information (3), used (3), experience (3), may (3), resources (3), like (3), full (3), usr (3), exe (3), function (3), following (3), different (3), installed (3), changes (3), restart (3), website (3), both (3), team (3), edit (3), compare (3), instances (3), things (3), drop (3), platform (3), github (3), simple (3), new (3), branch (3), copy (3), please (3), enable (3), text (3), functions (3), engine (3), comments (3), architecture (3), backup (3), products (3), backing (3), agents (3), authentication (3), request (3), active (3), integrated (3), https (3), psverify (3), dsc (3), repackage (3), remediate (3), query (3), batch (3), servername (3), filecontents (3), 2022 (3), 2023 (3), 2024 (3), 2025 (3), controls (3), bash (3), tag (3), archive (3), permission (3), permissions (3), task (3), users (3), scan (3), status (3), connectors (3), types (3), connect (3), retention (3), versioning (3), conan (3), cran (3), repositories (3), conda (3), integrating (3), org (3), helm (3), npm (3), java (3), maven (3), monitors (3), databases (3), releases (3), docs (2), 2026 (2), including (2), human (2), approval (2), production (2), example (2), gnu3 (2), under (2), not (2), have (2), each (2), report (2), those (2), close (2), want (2), results (2), transpile (2), css (2), take (2), system (2), any (2), than (2), once (2), delivery (2), easy (2), just (2), executing (2), patterns (2), blue (2), green (2), process (2), hosted (2), apache (2), common (2), store (2), multi (2), instance (2), runtime (2), ini (2), documentation (2), parse_ini_file (2), change (2), some (2), gitlab (2), svn (2), control (2), way (2), because (2), tool (2), receive (2), approvals (2), software (2), another (2), browser (2), hosting (2), downloads (2), verification (2), local (2), machine (2), features (2), execution (2), statements (2), formal (2), protocol (2), client (2), multiple (2), silent (2), sql (2), restoring (2), upgrade (2), product (2), single (2), microsoft (2), saml (2), logging (2), center (2), high (2), availability (2), load (2), balancing (2), offline (2), pre (2), hub (2), binary (2), shverify2 (2), shensure2 (2), shcall (2), acquire (2), key (2), pyverify (2), psverify2 (2), psexec (2), psensure2 (2), psdsc (2), pscall2 (2), pscall (2), module (2), recycle (2), binding (2), transfer (2), sleep (2), shensure (2), fileattributes (2), send (2), email (2), rename (2), pyensure (2), pycall (2), packagefile (2), post (2), osexec (2), oscall (2), exec (2), hostsentry (2), concatenate (2), debian (2), apply (2), rule (2), extract (2), appsetting (2), batcall (2), xmlencode (2), xml (2), urlencode (2), trimstart (2), trimend (2), trim (2), toupper (2), tolower (2), substring (2), regexreplace (2), padright (2), padleft (2), newline (2), matchesregex (2), join (2), htmlencode (2), coalesce (2), split (2), regexfind (2), rolename (2), environmentvariable (2), serversinroleandenvironment (2), serversinrole (2), serversinenvironment (2), allservers (2), allroles (2), allenvironments (2), acquiredservers (2), pythonpath (2), pseval (2), pscredential (2), preferwindowspowershell (2), autoterminatepowershellprocess (2), increment (2), floor (2), expr (2), decrement (2), ceiling (2), abs (2), math (2), mapset (2), mapremove (2), mapitem (2), mapadd (2), mapkeys (2), maps (2), listitem (2), listindexof (2), listcount (2), listset (2), listremove (2), listinsert (2), listconcat (2), lists (2), sheval (2), fromjson (2), tojson (2), json (2), eval (2), specialwindowspath (2), secureresourceproperty (2), securecredentialproperty (2), dateutc (2), date (2), range (2), resolvepath (2), pathcombine (2), fileexists (2), directoryexists (2), filesondisk (2), getvariablevalue (2), workingdirectory (2), isvariabledefined (2), executionstate (2), executionid (2), environmentname (2), executions (2), orchestration (2), infrastructure (2), aws (2), lightsail (2), augmented (2), help (2), ps1 (2), remediation (2), compliance (2), collecting (2), sync (2), role (2), connecting (2), scheduled (2), folders (2), vulnerabilities (2), remove (2), member (2), show (2), comment (2), health (2), apikey (2), endpoints (2), 2020 (2), 2021 (2), oss (2), feature (2), teams (2), content (2), webhooks (2), notifications (2), cloud (2), restricted (2), deprecated (2), policies (2), edge (2), mirroring (2), promotion (2), share (2), automatic (2), charts (2), node (2), sample (2), scala (2), gradle (2), gallery (2), repackaging (2), commit (2), pull (2), vstest (2), config (2), reject (2), teamcity (2), jenkins (2), unix (2), nunit (2), runner (2), asp (2), mvc (2), event (2), listeners (2), steps (2), checks (2), branches (2), will (2), llc, com, article, offers, several, benefits, detecting, saves, time, moves, further, left, supports, licensereport, comes, their, terms, licensed, company, face, lawsuit, authors, worse, difficult, dig, through, track, down, need, lets, protects, organization, potential, liability, due, hard, capturing, lock, don, check, ideally, developer, should, possible, record, addition, typescript, less, sass, minify, gulp, grunt, libraries, actions, level, scope, per, phar, phpunitpath, program, phpexepath, programdata, composersetup, composerexepath, order, they, located, installs, runs, handled, adds, monitor, trigger, since, overwrite, currently, making, then, effect, recommend, commonly, webserver, nginx, equally, generally, matter, preferences, manages, provide, tabled, editor, included, directly, incorporate, parsed, returns, array, pattern, visit, two, approaches, handling, rely, even, contain, sensitive, data, connection, urls, well, does, require, compilation, simply, regardless, own, stable, reliable, stage, gets, equivalent, output, whether, them, often, deployed, suboptimally, cherry, pick, method, lead, big, problem, working, previous, root, configured, one, oldest, probably, most, widely, languages, over, years, has, evolved, language, requires, properly, manually, outdated, writing, extensibility, layout, sources, inspection, publishing, auditing, history, command, parameters, maintaining, discontinued, programmatically, invoking, scenarios, pools, templating, else, try, catch, loop, descriptions, grammar, specification, video, tickets, stopgap, invoices, payments, renewing, purchasing, activation, accessing, account, flow, message, formats, internal, same, setting, outbound, communication, requirements, postgresql, when, pingid, entra, prometheus, diagnostic, analytics, hybrid, configurations, openldap, generic, integrate, domains, cluster, installations, compose, switch, reverse, downgrade, installedpackages, issimulation, job, rafts, bat, admins, accounts, remote, desktop, connections, remediating, desired, verifying, recurring, gui, input, forms, multipart, manifest, assess, vulnerabilties, attributes, members, resolve, promotions, apikeys, pgutil, commands, existing, premise, 2019, clair, index, quirk, old, migration, sonatype, nexus, jfrog, artifactory, myget, white, labeling, isv, edition, slack, localization, executable, blob, google, amazon, self, alerts, filter, licensing, detection, blocking, block, vulnerability, scanning, assessment, exporting, composition, analysis, multisite, federated, distribution, computing, disaster, recovery, semantic, registries, terminology, concepts, container, assetdirectories, library, recipes, hashicorp, cargo, rust, pub, dart, flutter, comprehensive, alpine, apk, aggregate, yum, public, pipenv, poetry, artifacthub, kubernetes, apt, bower, sbt, vsix, ruby, community, internalized, approved, optionally, odata, symbol, semver2, bulk, across, paths, usage, instructions, statistics, approve, semver, setup, deployables, webhook, plans, earlier, updates, 2018, based, containerized, raft, pack, merge, releaseassets, transition, milestone, issuecomment, checkout, attach, generate, write, assembly, transform, version, msbuild, statement, disk, wait, number, note, releasevariable, releasenumberpart, releasenumber, releasename, previousreleasenumber, incrementreleasenumber, comparereleasesequence, pipelinestagename, pipelinename, packageversion, packageproperty, packagehash, packagesinbuild, nugetexepath, vstestexepath, promotioncomments, msbuildtoolspath, jqlvalue, devenvpath, isrollback, isreexecution, executionuser, environments, databaseconnectionsinenvironment, containertag, containerdigest, containersinbuild, configurationfileversion, configurationfiletext, configurationfiles, configurationfileinstances, buildvariable, pullrequestid, dockertag, dockerrepository, ciprojectscope, ciproject, cibuildnumber, cibuild, buildnumber, buildmasterurl, buildmasterid, artifactpath, buildsinrelease, artifactsinbuild, applicationname, applicationid, applicationgroupname, applicationgitlibrary, applicationexists, applicationdescription, releasesinapplication, applicationsingroup, cancel, clone, purge, triggering, via, badges, native, bitbucket, subversion, youtrack, jira, gitea, integrations, ssh, targets, wordpress, junit, jetty, wildfly, jboss, eap, tomcat, ant, fxcop, xunit, mstest, entity, framework, core, webforms, console, platforms, containzerizing, preventing, how, displayed, rendered, prompts, calendars, rollbacks, gates, reports, hotfix, workflows, tfs, matching, found, internet, explorer, longer, supported, many, still, work, degraded, won, modern, chrome, firefox,
Text of the page (random words):
onfigure feeds for amazon s3 howto configure feeds for google cloud howto configure feeds for azure blob storage administration retention rules extending proget service executable localization license restrictions notifications webhooks customizing content webhooks howto connect to slack howto connect to teams white labeling isv edition installation upgrading proget installation guide installing proget on aws lightsail migrating to proget howto migrate from myget to proget howto migrate from azure devops to proget howto migrate from jfrog artifactory to proget howto migrate from sonatype nexus to proget howto migrate from another repository to proget old versions feature migration nuget quirk feeds oss index clair integration package access rules upgrading proget upgrading to proget 2026 upgrading to proget 2025 upgrading to proget 2024 upgrading to proget 2022 upgrading to proget 2023 upgrading to proget 6 0 2021 upgrading to proget 5 3 2020 upgrading to proget 5 2 2019 upgrading from proget v4 upgrading from proget v2 and v3 migrate an on premise proget installation to azure migrate an existing proget installation to a new server api methods and cli commands getting started with pgutil getting started with http endpoints api keys access create apikey list apikeys delete apikey proget health feeds create feed get feed list feeds update feed delete feed get feed storage update feed storage list feed storage types connectors create connector get connector list connectors update connector delete connector packages list packages list package versions download package upload package delete package audit package set package status repackage package promote package query package promotions show package metadata sca builds projects builds create update build get build list builds audit build promote build scan build projects create update project get project list projects issues list issues delete issue resolve issue comments create update comment list comments delete comment sbom export sbom import sbom security users create user edit user delete user show user list users groups create group delete group list groups add group member remove group member list group members tasks create task delete task list tasks list task attributes permissions add permission list permissions remove permission licenses create license get license list licenses update license delete license vulnerabilities audit vulnerabilties assess vulnerabilities universal feed import universal package create upload universal package download virtual package manifest download universal package file asset directories files upload asset file multipart asset file upload download asset file delete asset file folders create asset folder list asset folders delete asset folder export asset folder import archive metadata set asset metadata get asset metadata containers audit image create tag delete tag delete image otter getting started with otter orchestration server automation jobs templates create a gui for scripts with input forms scheduled recurring jobs connecting to your servers with otter what is a server in otter what is an environment in otter what is a server role in otter configuration export import sync collecting verifying configuration desired configuration with otterscript collecting installed packages running containers compliance as code with powershell psverify howto ensure chocolatey packages with otter drift remediation configuration as code automatically remediate configuration drift creating drift remediation jobs remediating drift with powershell psensure scripting in otter what are scripts in otter what are variables in otter shell bash scripting howto add a user with a bash script powershell ps1 scripting howto verify configure remote desktop connections howto verify configure local windows admins accounts windows batch bat scripting python py scripting otterscript operations augmented help reference rafts git storage configuring for your team security and access controls api access and api keys credentials resources installation upgrading otter installation guide agent installation reference installing otter on aws lightsail upgrading otter upgrading to otter 2025 upgrading to otter 2024 upgrading to otter 2023 upgrading to otter 2022 upgrading to otter 3 0 administration maintenance license restrictions service administration extending otter backing up otter reference otter api reference infrastructure management api job orchestration api server configuration management api variables management api otterscript reference built in functions variables executions environmentname executionid executionstate issimulation isvariabledefined workingdirectory getvariablevalue files filesondisk directoryexists filecontents filecontents fileexists pathcombine resolvepath general range date dateutc securecredentialproperty secureresourceproperty specialwindowspath eval json jsencode tojson fromjson linux sheval lists listconcat listinsert listremove listset listcount listindexof listitem maps mapkeys mapadd mapitem mapremove mapset math abs ceiling compare decrement expr floor increment powershell autoterminatepowershellprocess preferwindowspowershell pscredential pseval python pythonpath servers acquiredservers allenvironments allroles allservers serversinenvironment serversinrole serversinroleandenvironment environmentvariable rolename servername servername strings regexfind split coalesce htmlencode join jsencode matchesregex newline padleft padright regexreplace replace substring tolower toupper trim trimend trimstart urlencode xml xmlencode built in operations batch batcall docker collect docker containers dotnet ensure appsetting files ensure asset extract zipfile get asset firewall ensure firewall rule general apply template collect debian packages collect rpm packages collect installedpackages concatenate files copy files create directory create file create package create zipfile delete files download asset download http ensure directory ensure file ensure hostsentry ensure metadata ensure package exec execute python script get http install package oscall osexec post http push packagefile pycall pyensure query package remediate drift rename file repackage replace text send email set fileattributes set variable shensure sleep transfer files upload assets upload http iis ensure app pool ensure application ensure site ensure site binding ensure virtual directory recycle app pool start app pool start site stop app pool stop site otter ensure server restart server powershell collect dsc modules collect powershell modules ensure dsc resource ensure powershell module ensure powershell repository pscall pscall2 psdsc psensure psensure using scripts psensure2 psexec psverify psverify2 proget promote package python pyverify registry ensure registry key value get registry value servers acquire server release server services ensure service start windows service stop windows service shell execute shell script shcall shensure2 shverify2 windows sign binary installation maintenance windows inedo hub howto install on windows howto upgrade or downgrade getting started with inedo hub howto install pre release product versions offline installation silent installation cli reference troubleshooting web hosting https configuring https howto configure iis as a reverse proxy for the integrated web server howto switch to integrated web server from iis troubleshooting manual installation linux docker docker installation guide upgrading docker containers docker compose installation guide https support on linux troubleshooting docker installations high availability load balancing configuring high availability load balancing managing your cluster user directories domains ldap howto integrate inedo products with active directory active directory v5 openldap generic ldap windows integrated authentication troubleshooting ldap ad integration legacy configurations active directory ldap v4 advanced configuration v3 hybrid user directories logging analytics diagnostic center http request logging prometheus installation integration saml authentication saml authentication overview azure ad microsoft entra id single sign on pingid single sign on when to upgrade your inedo product managing agents and servers backing up restoring installation configuration files postgresql inedo products sql server inedo products backup up restore for sql server inedo agent what is the inedo agent installation upgrading linux installation security requirements silent installation manual installation upgrading downloads release notes maintenance configuration configuring the inedo agent setting up outbound communication using the same agent with multiple instances troubleshooting internal architecture client server architecture message formats network protocol v1 network protocol v2 server flow myinedo what is myinedo creating accessing your myinedo account license keys activation purchasing a license renewing a license invoices payments stopgap license keys support tickets create support video otterscript execution engine reference formal specification formal grammar otterscript otterscript overview comments descriptions strings values statements and blocks general blocks loop blocks try catch blocks if else blocks other statements inedo execution engine operations functions text templating resource pools runtime variables advanced scenarios features executing tasks as a different user programmatically invoking otterscript romp discontinued using romp installing configuring and maintaining configuration parameters installing romp maintenance romp cli reference command overview auditing local machine history creating and publishing packages credentials installation inspection and verification package sources romp configuration common configuration package layout downloads source code extensibility inedo sdk inedo sdk versions release notes extending inedo tools using the sdk writing a simple create file operation creating an extension using the sdk outdated creating an extension using the sdk 1 x hosting a private extensions feed manually installing extensions please enable javascript proget requires the use of javascript to function properly please enable javascript in your browser for this site php php is one of the oldest and probably most widely used languages used for the web and over the years it has evolved from a scripting language to a platform for application development php is a simple platform to deploy just copy the files to the web root a folder configured by apache or another web server and edit the configuration file which may be variables in a php or ini file because it s so easy to deploy it s can often be deployed suboptimally for example with the cherry pick method of file by file deployment or branch by branch deployment both lead to the big problem of working with different software than in the previous environment the best way to deploy php is to use artifacts or packages to do this build or import artifacts deploy to test environment s in an advanced pipeline receive approvals deploy to production this is the best way to deploy because the artifacts are more stable and reliable as each stage of the deployment gets equivalent output whether you build your artifacts in your ci cd tool or import them from a ci server configuring buildmaster to build php applications see it live create a new application using the php ci cd template in your own instance of buildmaster the process is simple get code from your source control repository regardless of platform e g gitlab github svn you also could use a drop folder php does not require compilation so you could simply package it as an artifact or universal package but there are some advanced things you can do as well managing your php configuration files in buildmaster php applications rely on configuration values that can change from environment to environment and even contain sensitive data such as database connection strings third party service urls api keys etc there are two general approaches for handling this in php ini files that are parsed using parse_ini_file which returns an array of configuration values for more information on this pattern visit the php parse_ini_file documentation php files that are included and directly incorporate those configuration values as runtime variables both methods are equally common it s generally a matter of your development team s preferences buildmaster manages both by using configuration file assets configuration file assets store multi instance configuration files and provide a multi tabled editor to edit and compare these instances deploying your php applications with buildmaster php is commonly hosted in apache but may also be hosted by any other webserver including nginx iis etc we recommend the following process stop website deploy files start website since you can t overwrite code that s currently executing you have to stop it before making your changes then restart the code for the changes to take effect there are also advanced patterns like blue green ci cd for php applications once you ve set build and deploy using continuous integration and continuous delivery for php is easy just configure a build trigger to automatically monitor for changes buildmaster s php extension buildmaster s php integration is handled by the php extension once installed this extension adds the following plan operations execute phpunit runs phpunit tests composer install packages installs composer packages in order for these operations to function the following extension configuration variable values must be set if they are located in a different path than the default composerexepath full path of composer the default is usr bin composer on linux and c programdata composersetup bin composer on windows phpexepath full path of php exe the default is usr bin php on linux and c program files php php exe on windows phpunitpath full path of phpunit the default is usr bin phpunit on linux and c bin phpunit phar on windows you can set these variables under administration extensions php configuration at the system level or any scope that you d like such as per server advanced php automation practices before you package your application there are more advanced php actions you can take such as run unit tests phpunit install libraries and code dependencies with composer you can also use tools like grunt or gulp to minify javascript and css transpile less or sass resources to css transpile typescript to javascript ideally your developer experience and buildmaster experience should be as close as possible but you also want buildmaster to record unit test results in addition you may want to capture open source licenses from third party packages as a build report using composer and buildmaster to install packages you can use the composer install packages operation general best practices for installing packages are don t...
|