You've already forked sap-jenkins-library
mirror of
https://github.com/SAP/jenkins-library.git
synced 2025-07-15 01:34:38 +02:00
feat (pythonBuild) enable creation of a virtual environment (venv) (#3746)
* create virtual env * adding bin bash source * using sources from bin bash * trying with bash * appending filename to source * using standard pip install * not using root user * adding path for pip * using virtual env * using virtual env name in path * removing virtual env * adding file path manually * using root * not using root and postpone removing venv * trying to use the python from venv * test to remove the venve * seeing which python * using symlink for python * unit test * python docu stub * fix unit test and yaml extra line * fixing unit test * unit test success case fix * unit test fix * unit test fixes * unit test and default publish flag * fix integration test Co-authored-by: anilkeshav27 <you@example.com>
This commit is contained in:
@ -25,6 +25,7 @@ type pythonBuildOptions struct {
|
||||
TargetRepositoryUser string `json:"targetRepositoryUser,omitempty"`
|
||||
TargetRepositoryURL string `json:"targetRepositoryURL,omitempty"`
|
||||
BuildSettingsInfo string `json:"buildSettingsInfo,omitempty"`
|
||||
VirutalEnvironmentName string `json:"virutalEnvironmentName,omitempty"`
|
||||
}
|
||||
|
||||
type pythonBuildCommonPipelineEnvironment struct {
|
||||
@ -155,6 +156,7 @@ func addPythonBuildFlags(cmd *cobra.Command, stepConfig *pythonBuildOptions) {
|
||||
cmd.Flags().StringVar(&stepConfig.TargetRepositoryUser, "targetRepositoryUser", os.Getenv("PIPER_targetRepositoryUser"), "Username for the target repository where the compiled binaries shall be uploaded - typically provided by the CI/CD environment.")
|
||||
cmd.Flags().StringVar(&stepConfig.TargetRepositoryURL, "targetRepositoryURL", os.Getenv("PIPER_targetRepositoryURL"), "URL of the target repository where the compiled binaries shall be uploaded - typically provided by the CI/CD environment.")
|
||||
cmd.Flags().StringVar(&stepConfig.BuildSettingsInfo, "buildSettingsInfo", os.Getenv("PIPER_buildSettingsInfo"), "build settings info is typically filled by the step automatically to create information about the build settings that were used during the maven build . This information is typically used for compliance related processes.")
|
||||
cmd.Flags().StringVar(&stepConfig.VirutalEnvironmentName, "virutalEnvironmentName", `piperBuild-env`, "name of the virtual environment that will be used for the build")
|
||||
|
||||
}
|
||||
|
||||
@ -252,10 +254,19 @@ func pythonBuildMetadata() config.StepData {
|
||||
Aliases: []config.Alias{},
|
||||
Default: os.Getenv("PIPER_buildSettingsInfo"),
|
||||
},
|
||||
{
|
||||
Name: "virutalEnvironmentName",
|
||||
ResourceRef: []config.ResourceReference{},
|
||||
Scope: []string{"STEPS", "STAGES", "PARAMETERS"},
|
||||
Type: "string",
|
||||
Mandatory: false,
|
||||
Aliases: []config.Alias{},
|
||||
Default: `piperBuild-env`,
|
||||
},
|
||||
},
|
||||
},
|
||||
Containers: []config.Container{
|
||||
{Name: "python", Image: "python:3.9", Options: []config.Option{{Name: "-u", Value: "0"}}},
|
||||
{Name: "python", Image: "python:3.9"},
|
||||
},
|
||||
Outputs: config.StepOutputs{
|
||||
Resources: []config.StepResources{
|
||||
|
Reference in New Issue
Block a user