1
0
Форкнуть 0
windows-dev-box-setup-scripts/ORGANIZATION.md

3.8 KiB

Using Chocolatey and Boxstarter in an organization

Does your organization have strong policies against using the internet? Are you deploying software in air-gapped networks? No problem, the Chocolatey client is an offline solution that has zero call home, and the best part is you can create packages and host them internally for free (see What is Chocolatey? and Set Up Chocolatey for Organizational/Internal Use). Yes, you read that right, there's no charge for this! It is important to point out that Chocolatey itself installs with the Community Package Repository already set as a default source repository to allow ease of installs for the greater community, but it is a simple adjustment to remove that and add your own internal sources.

As an organization, you may not be keen to reach out to the internet. That's fine, with just a few modifications, you can still take advantage of these scripts:

  1. Ensure you have the Chocolatey nupkg itself on your internal package repository. This is done in the first few sections of the organizational deployment guide.
  2. You may need to also grab the Boxstarter packages and put them on your internal repository (on each package page in the left menu you will find a download link that will download the nupkg file). The packages may also need to be internalized before being put on your internal repository to remove any runtime internet access.
  3. Review the script you want to use. Take note of the package names. You will need to either internalize those packages or create your own packages with embedded binaries or pointed to internal resources.
  4. In the script prior to any calls to Chocolatey, you need to add the following code:
    # Ensure the community repository is removed
    choco source remove --name="'chocolatey'"
    
    # Sources - Add your internal repositories (add other options like auth/allow self service as needed - https://chocolatey.org/docs/commands-source):
    choco source add --name="'internal_server'" --source="'http://somewhere.internal/chocolatey'" --priority="'1'" --bypass-proxy --user bob --password something
    choco source add --name="'internal_file_share'" --source="'\\fileshare\chocolatey'" --priority="'2'" --bypass-proxy
    #TODO: Add other sources here
    
  5. Alternatively, you could add the following to the end of all of the package installation/upgrade calls:
    --source="'location_name[; location_uri]'"
    
  6. Unfortunately, you may not be able to take advantage of Boxstarter's one-click installer links that are available in the "How to run the scripts" section above. You can still use an alternative means of running those scripts that still works quite well! Please see the note below for additional addendums.

NOTE: At this time, you may find that Boxstarter's one-click installer is hosted externally. It may use the community repository to get those Boxstarter packages deployed. You may need to set up the one-click installer or use an alternative means of running your scripts to ensure Boxstarter is using internal locations as well. We'll provide more details on how to do this later (and possibly fixes to Boxstarter itself to allow this)!