Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

Revert "(#14731) Flesh out module publishing documentation"

This content was merged without being reviewed by the docs team. It is being
pulled from master pending review.

This reverts commit fd21680.
  • Loading branch information...
commit b17f4b2fddd301e6c1bf35e2e472bb6f90151081 1 parent dc2d08a
authored
66  source/puppet/2.7/reference/modules_publishing.markdown
Source Rendered
@@ -8,52 +8,20 @@ title: "Publishing Modules on the Forge"
8 8
 [installing]: ./modules_installing.html
9 9
 [fundamentals]: ./modules_fundamentals.html
10 10
 [plugins]: /guides/plugins_in_modules.html
11  
-[forge]: https://forge.puppetlabs.com/
12 11
 
13 12
 
14 13
 Publishing Modules on the Forge
15 14
 =====
16 15
 
  16
+**This is a placeholder page, which will be fleshed out further at a later date. We know what should be on it, but haven't had a chance to write it yet.**
  17
+
17 18
 * Continue reading to learn how to publish your modules to the Puppet Forge.
18 19
 * [See "Module Fundamentals"][fundamentals] for how to write and use your own Puppet modules.
19 20
 * [See "Installing Modules"][installing] for how to install pre-built modules from the Puppet Forge.
20 21
 * [See "Using Plugins"][plugins] for how to arrange plugins (like custom facts and custom resource types) in modules and sync them to agent nodes.
21 22
 
22  
-Create a Forge Account
23  
---------
24  
-
25  
-Before you begin, you should create a forge account. This account name will be used to uniquely identify your set of modules and will be required during module packaging, so its best to do this early.
26  
-
27  
-Start by navigating to the [Forge website][forge] and selecting 'Register'. Fill in your details, and you will be asked to verify your email address via a verification email. Once this has been done, you are ready to move on.
28  
-
29  
-Module Template Generation
30  
---------
31  
-
32  
-The puppet module face has the ability to generate a template for you to get started developing a module. While this is optional, it does help get you up and running. If you already have content that you wish to publish, skip ahead to creating your Modulefile.
33  
-
34  
-To get started, you need to run the module generate command using the following convention:
35  
-
36  
-    puppet module generate <forgeusername>-<modulename>
37  
-
38  
-As an example, say if your username was 'fred' and you wanted to publish a module called 'mymodule'. You could run the command as such:
39  
-
40  
-    # puppet module generate fred-mymodule
41  
-    Generating module at /Users/fred/Development/fred-mymodule
42  
-    fred-mymodule
43  
-    fred-mymodule/tests
44  
-    fred-mymodule/tests/init.pp
45  
-    fred-mymodule/spec
46  
-    fred-mymodule/spec/spec_helper.rb
47  
-    fred-mymodule/README
48  
-    fred-mymodule/Modulefile
49  
-    fred-mymodule/manifests
50  
-    fred-mymodule/manifests/init.pp
51  
-
52  
-Now you can either start modifying the content as provided, or if you already have module content you can being to copy it over into the template.
53  
-
54  
-For more information on the details of module development [see “Module Fundamentals”][fundamentals] for how to write and use your own Puppet modules.
55 23
 
56  
-Writing a valid `Modulefile`
  24
+Write a valid `Modulefile`
57 25
 --------------------------
58 26
 
59 27
 The Modulefile resembles a configuration or data file, but is actually a Ruby domain-specific language (DSL), which means it's evaluated as code by the puppet-module tool. A Modulefile consists of a series of method calls which write or append to the available fields in the metadata object.
@@ -62,7 +30,7 @@ Normal rules of Ruby syntax apply:
62 30
 
63 31
     name 'myuser-mymodule'
64 32
     version '0.0.1'
65  
-    dependency 'otheruser-othermodule', '1.2.3'
  33
+    dependency( 'otheruser-othermodule', '1.2.3' )
66 34
     description "This is a full description
67 35
         of the module, and is being written as a multi-line string."
68 36
 
@@ -77,29 +45,3 @@ The following metadata fields/methods are available:
77 45
 * `summary` -- One-line description of the module.
78 46
 * `description` -- Complete description of the module.
79 47
 * `project_page` -- The module's website.
80  
-
81  
-Building your module
82  
-------
83  
-
84  
-Now that you have the content and Modulefile created, you can build your module by running the following command:
85  
-
86  
-    puppet module build <moduledir>
87  
-
88  
-This will generate a package in `tar.gz` format for you in the modules `pkg/` directory.
89  
-
90  
-For example:
91  
-
92  
-    # puppet module build fred-mymodule 
93  
-    Building /Users/fred/Development/fred-mymodule for release
94  
-    fred-mymodule/pkg/fred-mymodule-0.0.1.tar.gz
95  
-
96  
-Publishing your module on the forge
97  
-------
98  
-
99  
-Now that you have your ready-built `tar.gz` file, you can publish this on the Forge.
100  
-
101  
-First of all, navigate [to the Forge][forge] and login as yourself. Create a module by clicking on the link for 'Add a module'. Fill in all the required fields, especially the name of the module. The name of the module must match the name you specified in the `Modulefile`.
102  
-
103  
-Once that is complete you must then `Add a release` to the module you have just created. Choose the `tar.gz` file that was created with the `puppet module build` action, and enter some release notes if applicable and click `Add release`.
104  
-
105  
-Congratulations, you should now have a published module. To confirm everything is okay test its functionality by trying to [install it][installing] on your own systems.

0 notes on commit b17f4b2

Please sign in to comment.
Something went wrong with that request. Please try again.